gastenboek werkt niet
ik zit met een probleem. Een vriend van mij heeft een site met een heel eenvoudig gastenboek dat de ingaven wegschrijft in een gewone tekst file. echter om de een of andere vreemde reden werkt het nu niet meer ik voeg onder aan dit bericht de file die berichten moet wegschrijven in de file gastenboek.php op de server heeft dit bestand read en schrijfrechten dus daar ligt het niet aan. Ik zie echter niet wat er fout is aan het php script. Kan iemand van jullie mij misschien verder helpen?
Alvast bedankt voor de moeite
Marcel
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
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
<?php
if ($mode=="addmsg") {
$err = 0;
if (empty($naam) || empty($message)) {
$err = 1;
} else {
//strip message to a max. of 1000 characters
$message = substr($message,0,100000);
// open template
$filename = "gastenboek_template.php";
$fp = fopen ($filename, "r");
$bericht = fread ($fp, filesize ($filename));
// replace #naam# met $naam
$bericht = str_replace ("#naam#", stripslashes(htmlspecialchars($naam)), $bericht);
// replace #message# met $message
$bericht = str_replace ("#message#", nl2br(stripslashes(htmlspecialchars($message))), $bericht);
fclose($fp);
// read gastenboek file
$filename = "gastenboek.php";
$fp = fopen ($filename, "r");
$gastenboek = fread ($fp, filesize ($filename));
// replace #message# with $bericht
$gastenboek = str_replace ("<!--##message##//-->", "<!--##message##//-->\n\n" . $bericht, $gastenboek);
fclose($fp);
// write in gastenboek
$filename = "gastenboek.php";
$fp = fopen ($filename, "w+");
fwrite ($fp, $gastenboek);
// goto gastenboek
header("Location: gastenboek.php");
}
}
$img_page = 'images/na_caracter_2.gif';
?>
<HTML>
<HEAD>
<TITLE>ROOTS HAIRSTYLES</TITLE>
<SCRIPT language="javascript" src="doc/script.js"></SCRIPT>
<LINK href="doc/roots.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><BODY bgcolor="#A2C40E" background="images/guestbook/background.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="370" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"><img src="images/guestbook/logo.gif" width="400" height="50"></div></td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td align="center"> <form name="invoer" method="post" action="<? print $PHP_SELF ?>">
<table width="370" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td width="370" align="center" valign="top" class="newstext"> <? print ($err==1) ? "<span class='gueststexttemplate'>Please fill in all forms<br><br></span>" : " " ?>
<span class="textwhite">name</span><br> <input name="naam" type="input" class="guestsaddtext" value="<? print $naam ?>" size=40 maxlength=40>
<br> <br>
<span class="textwhite">message</span><br>
<textarea name="message" cols="39" rows="7" wrap="off" class="guestsadd"><? print $message ?></textarea>
<input type="hidden" name="mode" value="addmsg">
<br> <br> <input type="submit" name="submit" class="send" value="send">
</td>
</tr>
</table>
</form></td>
</tr>
</table>
</HTML>
if ($mode=="addmsg") {
$err = 0;
if (empty($naam) || empty($message)) {
$err = 1;
} else {
//strip message to a max. of 1000 characters
$message = substr($message,0,100000);
// open template
$filename = "gastenboek_template.php";
$fp = fopen ($filename, "r");
$bericht = fread ($fp, filesize ($filename));
// replace #naam# met $naam
$bericht = str_replace ("#naam#", stripslashes(htmlspecialchars($naam)), $bericht);
// replace #message# met $message
$bericht = str_replace ("#message#", nl2br(stripslashes(htmlspecialchars($message))), $bericht);
fclose($fp);
// read gastenboek file
$filename = "gastenboek.php";
$fp = fopen ($filename, "r");
$gastenboek = fread ($fp, filesize ($filename));
// replace #message# with $bericht
$gastenboek = str_replace ("<!--##message##//-->", "<!--##message##//-->\n\n" . $bericht, $gastenboek);
fclose($fp);
// write in gastenboek
$filename = "gastenboek.php";
$fp = fopen ($filename, "w+");
fwrite ($fp, $gastenboek);
// goto gastenboek
header("Location: gastenboek.php");
}
}
$img_page = 'images/na_caracter_2.gif';
?>
<HTML>
<HEAD>
<TITLE>ROOTS HAIRSTYLES</TITLE>
<SCRIPT language="javascript" src="doc/script.js"></SCRIPT>
<LINK href="doc/roots.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><BODY bgcolor="#A2C40E" background="images/guestbook/background.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="370" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"><img src="images/guestbook/logo.gif" width="400" height="50"></div></td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td align="center"> <form name="invoer" method="post" action="<? print $PHP_SELF ?>">
<table width="370" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td width="370" align="center" valign="top" class="newstext"> <? print ($err==1) ? "<span class='gueststexttemplate'>Please fill in all forms<br><br></span>" : " " ?>
<span class="textwhite">name</span><br> <input name="naam" type="input" class="guestsaddtext" value="<? print $naam ?>" size=40 maxlength=40>
<br> <br>
<span class="textwhite">message</span><br>
<textarea name="message" cols="39" rows="7" wrap="off" class="guestsadd"><? print $message ?></textarea>
<input type="hidden" name="mode" value="addmsg">
<br> <br> <input type="submit" name="submit" class="send" value="send">
</td>
</tr>
</table>
</form></td>
</tr>
</table>
</HTML>
Gewijzigd op 01/01/1970 01:00:00 door Marcel
Verder controleer je niet of er gepost is door tecontroleren of er een bepaald veld is meegestuurd, maar de eigenlijke controle doe je zo:
Code (php)
De else is niet nodig, maar komt vaak prima van pas.
Marcel
Vervolgens ga je alle fouten en waarschuwingen 1 voor 1 oplossen.