webmastertje
Gebruiker
- Lid geworden
- 4 jan 2011
- Berichten
- 52
Hallo, ik heb geprobeert zelf een shoutbox te maken, waarvan de gegevens worden opgeslagen in een .txt bestand. Maar als ik nu iets invul in de shoutbox, komen de vorige berichten er steeds dubbel in de staan. Weet iemand hoe dit kan?? Dit is de code:
PHP:
<html>
<head>
<title>Shoutbox</title>
</head>
<body bgcolor="9370db">
<h2><center>Shoutbox...</center></h2>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
<?php if(isset($foutmelding)) { echo "<b>$foutmelding</b>"; } ?>
Uw naam : <input type="text" name="naam"><br>
Uw e-mailadres: <input type="text" name="mail"><br>
Uw bericht:<br>
<textarea rows="5" cols="50" name="commentaar">Typ hier uw bericht...</textarea><br>
Waardering over deze website:<br>
<select name="punt">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option selected="selected">5</option>
</select><br>
<input type="reset" value="Maak alle velden leeg">
<input type="submit" value="Voeg bericht toe">
</form>
<hr size="3">
</body>
</html>
<?php
if(isset($_POST["naam"])) {
if($_POST["naam"] != "" && $_POST["mail"] != "") {
$pointer=fopen("shoutbox.txt","r+");
$oud=fread($pointer,filesize("shoutbox.txt"));
$mail='<a href="mailto:' . $_POST["mail"] . '>' . $_POST["mail"] . '</a>';
$datum=date("j.n.Y");
$commentaar=htmlspecialchars($_POST["commentaar"]);
$commentaar=stripslashes($commentaar);
$commentaar=nl2br($commentaar);
$geschreven=$_POST["naam"] . " (" . $_POST["mail"] . ") schreef op " . $datum . " het volgende:<br>\n
<b>" . $commentaar . "</b><br>\n
Punt: <b>" . $_POST["punt"] . "</b>\n
<hr>";
fputs($pointer,"$oud");
rewind($pointer);
fputs($pointer,"$geschreven\n");
}
else {
$foutmelding="U heeft niet alle velden ingevuld!";
}
}
readfile("shoutbox.txt");
?>