Gastenboek Fout
Iemand wat te doen bij deze melding?
Rick schreef op 13.07.2008 13:15:
Permission denied
Niet genoeg rechten?
Gebruik het relatieve path.
Ja maar ik heb juist alle rechten toe laten kennen dus dan zou die dat toch niet moeten aangeven.
script met fopen: /map/map2/script.php
gastenboek: /www/gastenboek.php
het pad in script.php wordt dan: ../../www/gastenboek.php
Zonder puntjes is trouwens wel sneller, misschien dat wwwRoot nog niet van de gebruiker is waarop je webserver werkt?
Edit:
Probeer anders een WAMP server
Probeer anders een WAMP server
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Op zijn Domein heeft hij alleen de map www. voor de rest niks maar misschien kan ik proberen gewoon www/gastenboek.php
Weet iemand misschien de fout want heb het probleem nog niet echt kunnen vinden waar het nou precies aan moet liggen?
De fout is dat je niet genoeg rechten hebt op de map waar je iets mee wil doen. Ga debuggen, pak een andere map, zet je script in die map en roep het dan aan (wel pad veranderen natuurlijk). Dat soort dingen, kijk hoever je wel en niet kan komen.
Ja maar ik heb juist alle rechten op de map toelaten kennen dus dat zou het probleem niet moeten zijn chmod 777 staat ingesteld.
Rick schreef op 14.07.2008 11:36:
Ja maar ik heb juist alle rechten op de map toelaten kennen dus dat zou het probleem niet moeten zijn chmod 777 staat ingesteld.
Dan zal het path wel niet goed zijn.
SanThe schreef op 13.07.2008 13:20:
Gebruik het relatieve path.
Rick schreef op 13.07.2008 13:15:
Permission denied
Gebruik het relatieve path.
Okej wat houd dat precies in relatieve path, heb daar nog nooit van gehoord namelijk?
Dus als bij jou gastenboek.txt in dezelfde directory staat als gastenboek.php gebruik je fopen('gastenboek.txt') en staat het in een map in die directory dan gebruik je fopen('map/gastenboek.txt').
Ja oke maar allebei de bestanden gastenboek.txt en gastenboek.php staan bij mij in de map www. voor de rest zijn er geen mappen aangemaakt en kun je ook geen aanmaken dus alleen de map www bestaat, dan zul je kunnen zeggen dan zet je er toch www/gastenboek.php voor maar ook dit werkt niet.
Rick schreef op 14.07.2008 11:58:
... allebei de bestanden gastenboek.txt en gastenboek.php staan bij mij in de map www ...
Dus gebruik je fopen('gastenboek.txt').
dus voor ('gastenboek.txt') gewoon fopen zetten en dan moet het werken?
Moet ik nu ja zeggen? Probeer het eens lijkt mij.
Krijg ik dit te voorschijn?
Geef eens een klein stukje code. Regel 105 - 110.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<html>
<body bgcolor="#D2B48C">
<style type="text/css">
a{text-decoration:none}
</style>
<script type="text/javascript" language="javascript">
<!-- Smilies invoegen
function addSmilie(code)
{
document.form1.bericht.value+=code;
document.form1.bericht.focus();
}
-->
</script>
<?
# De datum van vadaag:
$datum = date('d/m/Y');
# Als je geen bericht post:
if ($_SERVER['REQUEST_METHOD'] !== "POST")
{
# Formulier om een bericht te posten:
?>
<form name='form1' method='POST' action='<?php echo ($_SERVER['PHP_SELF']); ?>'>
<input type='hidden' name='status' value='verzenden'>
Naam : <input type='text' name='naam'>
<br>
<br>
E-mail : <input type='text' name='mail'> <font size='2'> (niet verplicht.) </font>
<br>
<br><img src="root/images/smilies/blij.gif" alt=":)" onClick="javascript:addSmilie(':)')" />
<img src="root/images/smilies/cool.gif" alt="8)" title="8)" onClick="javascript:addSmilie('8)')" />
<img src="root/images/smilies/droevig.gif" alt=":(" title=":(" onClick="javascript:addSmilie(':(')" />
<img src="root/images/smilies/knipoog.gif" alt=";)" title=";)" onClick="javascript:addSmilie(';)')" />
<img src="root/images/smilies/omg.gif" alt=":o" title=":o" onClick="javascript:addSmilie(':o')" />
<img src="root/images/smilies/tanden.gif" alt=":D" title=":D" onClick="javascript:addSmilie(':D')" />
<img src="root/images/smilies/tong.gif" alt=":p" title=":p" onClick="javascript:addSmilie(':p')" />
<img src="root/images/smilies/verward.gif" alt=":s" title=":s" onClick="javascript:addSmilie(':s')" />
<br>Voeg bericht toe !<br>
<textarea rows='10' name='bericht' cols='48'></textarea>
<br>
<br>
<input type='submit' value='Plaats' name='B1'>
<?php
}
# Als je een bericht post:
else
{
echo"<br>";
# Controle of alles is ingevuld:
if (empty($_POST['naam']))
{
echo "Je hebt geen naam ingevuld.<br><br>Klik <a href='/www/gastenboek.php'>hier</a> om terug te gaan.";
}
elseif (empty($_POST['bericht']))
{
echo "Je heb geen bericht in gevuld.<br><br>Klik <a href='/www/gastenboek.php'>hier</a> om terug te gaan.";
}
# Als alles netjes is ingevuld:
else
{
# De enters toevoegen in je berichte:
$bericht = nl2br($_POST['bericht']);
# De smilies
$smiles = array(
':)'=>'blij',
'8)'=>'cool',
':('=>'droevig',
';)'=>'knipoog',
':o'=>'omg',
':D'=>'tanden',
':p'=>'tong',
':s'=>'verward');
$bericht = strip_tags($bericht);
foreach($smiles as $smile=>$image){
$bericht = str_replace($smile,"<img src=images/smilies/".$image.".gif>", $bericht);# de map waar de smilies instaan
}
# Variablen ophalen:
$naam = $_POST['naam'];
$mail = $_POST['mail'];
# Als er geen E-mail adres is ingevuld, dit invoegen in het gastenboek:
if (empty($_POST['mail']))
{
$invoeg = "Geplaatst door: <i>" . $naam . "</i> op: <i>" . $datum . "</i> <br><br>Bericht:<i><br>" . $bericht . "</i><br><br><hr><br>";
}
# Als er wel een E-mail adres is ingevuld, dit invoegen in het gastenboek:
else
{
$invoeg = "Geplaatst door: <i><a href='mailto:" . $mail . "'>" . $naam . "</a></i> op: <i>" . $datum . "</i> <br><br>Bericht:<i><br>" . $bericht . "</i><br><br><hr><br>";
}
# De inhoud van het gasteboek opslaan in een variable:
$inhoud = file fopen('www.gastenboek.txt');
# Het gastenboek bestand openen om te schrijven:
$file = fopen('gastenboek.txt',"w");
# Het nieuwe stukje bovenaan het gastenboek schrijven:
fwrite ($file, $invoeg);
# Het oude gastenboek er weer onder plakken:
fwrite ($file, join('', $inhoud));
# Het bestand sluiten:
fclose($file);
# Boodschap dat er een bericht geplaatst is:
echo "
Beste " . $naam . " je bericht is geplaatst.
<br>
<br>
Klik <a href='/www/gastenboek.php'>hier</a> om alle berichten te lezen.
";
}
}
?>
<br>
<br>
<HR>
<?php # De berichten weergeven:
echo file_get_contents fopen('gastenboek.txt');
?>
</html>
<body bgcolor="#D2B48C">
<style type="text/css">
a{text-decoration:none}
</style>
<script type="text/javascript" language="javascript">
<!-- Smilies invoegen
function addSmilie(code)
{
document.form1.bericht.value+=code;
document.form1.bericht.focus();
}
-->
</script>
<?
# De datum van vadaag:
$datum = date('d/m/Y');
# Als je geen bericht post:
if ($_SERVER['REQUEST_METHOD'] !== "POST")
{
# Formulier om een bericht te posten:
?>
<form name='form1' method='POST' action='<?php echo ($_SERVER['PHP_SELF']); ?>'>
<input type='hidden' name='status' value='verzenden'>
Naam : <input type='text' name='naam'>
<br>
<br>
E-mail : <input type='text' name='mail'> <font size='2'> (niet verplicht.) </font>
<br>
<br><img src="root/images/smilies/blij.gif" alt=":)" onClick="javascript:addSmilie(':)')" />
<img src="root/images/smilies/cool.gif" alt="8)" title="8)" onClick="javascript:addSmilie('8)')" />
<img src="root/images/smilies/droevig.gif" alt=":(" title=":(" onClick="javascript:addSmilie(':(')" />
<img src="root/images/smilies/knipoog.gif" alt=";)" title=";)" onClick="javascript:addSmilie(';)')" />
<img src="root/images/smilies/omg.gif" alt=":o" title=":o" onClick="javascript:addSmilie(':o')" />
<img src="root/images/smilies/tanden.gif" alt=":D" title=":D" onClick="javascript:addSmilie(':D')" />
<img src="root/images/smilies/tong.gif" alt=":p" title=":p" onClick="javascript:addSmilie(':p')" />
<img src="root/images/smilies/verward.gif" alt=":s" title=":s" onClick="javascript:addSmilie(':s')" />
<br>Voeg bericht toe !<br>
<textarea rows='10' name='bericht' cols='48'></textarea>
<br>
<br>
<input type='submit' value='Plaats' name='B1'>
<?php
}
# Als je een bericht post:
else
{
echo"<br>";
# Controle of alles is ingevuld:
if (empty($_POST['naam']))
{
echo "Je hebt geen naam ingevuld.<br><br>Klik <a href='/www/gastenboek.php'>hier</a> om terug te gaan.";
}
elseif (empty($_POST['bericht']))
{
echo "Je heb geen bericht in gevuld.<br><br>Klik <a href='/www/gastenboek.php'>hier</a> om terug te gaan.";
}
# Als alles netjes is ingevuld:
else
{
# De enters toevoegen in je berichte:
$bericht = nl2br($_POST['bericht']);
# De smilies
$smiles = array(
':)'=>'blij',
'8)'=>'cool',
':('=>'droevig',
';)'=>'knipoog',
':o'=>'omg',
':D'=>'tanden',
':p'=>'tong',
':s'=>'verward');
$bericht = strip_tags($bericht);
foreach($smiles as $smile=>$image){
$bericht = str_replace($smile,"<img src=images/smilies/".$image.".gif>", $bericht);# de map waar de smilies instaan
}
# Variablen ophalen:
$naam = $_POST['naam'];
$mail = $_POST['mail'];
# Als er geen E-mail adres is ingevuld, dit invoegen in het gastenboek:
if (empty($_POST['mail']))
{
$invoeg = "Geplaatst door: <i>" . $naam . "</i> op: <i>" . $datum . "</i> <br><br>Bericht:<i><br>" . $bericht . "</i><br><br><hr><br>";
}
# Als er wel een E-mail adres is ingevuld, dit invoegen in het gastenboek:
else
{
$invoeg = "Geplaatst door: <i><a href='mailto:" . $mail . "'>" . $naam . "</a></i> op: <i>" . $datum . "</i> <br><br>Bericht:<i><br>" . $bericht . "</i><br><br><hr><br>";
}
# De inhoud van het gasteboek opslaan in een variable:
$inhoud = file fopen('www.gastenboek.txt');
# Het gastenboek bestand openen om te schrijven:
$file = fopen('gastenboek.txt',"w");
# Het nieuwe stukje bovenaan het gastenboek schrijven:
fwrite ($file, $invoeg);
# Het oude gastenboek er weer onder plakken:
fwrite ($file, join('', $inhoud));
# Het bestand sluiten:
fclose($file);
# Boodschap dat er een bericht geplaatst is:
echo "
Beste " . $naam . " je bericht is geplaatst.
<br>
<br>
Klik <a href='/www/gastenboek.php'>hier</a> om alle berichten te lezen.
";
}
}
?>
<br>
<br>
<HR>
<?php # De berichten weergeven:
echo file_get_contents fopen('gastenboek.txt');
?>
</html>
SanThe schreef op 14.07.2008 12:21:
Geef eens een klein stukje code. Regel 105 - 110.
En waarom nu de hele code? Was ik niet duidelijk?
Omdat ik gewoon de hele code stuur.
$inhoud = file fopen('www.gastenboek.txt');
$inhoud = file('gastenboek.txt');