Moin!
Ok. ok. Hier das komplette Skript mit allen Einbauten.
<?PHP
Konfiguration:
$neu_vor_alt=true; # >> false, wenn alt vor neu: Ohne Anführungsstriche!
$filename="eintraege.txt";
$this_uri="http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"];
Wir lesen erstmal die Daten:
$daten_alt=""; $daten_neu="";
if (file_exists($filename)){
$datei = fopen($filename,"r");
$daten_alt = fread($datei,filesize($filename));
fclose($datei);
}
if (isset($_POST['abschicken'])) {
$kommentar = stripslashes(htmlentities(($_POST['kommentar'])));
$kommentar = str_replace("\n","<br>",$kommentar);
# str_replace ist bei einfachen Erstzungen schneller
# abbrechen, wenn $kommentar leer ist:
if ($kommentar=="") {
header ("Location: $this_uri");
exit;
}
# Die anderen Variablen sind genau so zu behandeln:
$name = stripslashes(htmlentities(($_POST['name'])));
$email= stripslashes(htmlentities(($_POST['email'])));
$url = stripslashes(htmlentities(($_POST['url'])));
# Basteln
$daten_neu = "<hr><b>Name:</b> $name<br>
<strong>Ort:</strong> $ort<br>
<strong>Email:</strong> <a href=mailto:$email>$email</a><br>
<strong>Homepage:</strong> <a href=$url>$url</a><br>
<strong>Datum:</strong> " . date('d. F Y H:i') . "<br>
<strong>Eintrag:</strong><br>
$kommentar<br>\n\n";
# Hier wird es ernst:
if ($neu_vor_alt) {
$daten=$daten_neu.$daten_alt;
} else {
$daten=$daten_alt.$daten_neu;
}
# Flatfile öffnen und überschreiben:
$datei = fopen($filename,"w");
flock($datei,2);
fwrite($datei, $daten);
flock($datei,3);
fclose($datei);
header ("Location: $this_uri");
exit;
}
Es folgt ein wenig HTML:
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
</head>
<h1>Gästebuch</h1>
<form method="POST">
<pre>
Name: <input type="text" name="name">
eMail: <input type="text" name="email">
URL: <input type="text" name="url">
Kommentar:<textarea name="kommentar"></textarea>
<input type="submit" name="abschicken" value="abschicken">
</pre>
</form>
<?PHP
Für die Ausgabe brauchst Du nicht neu lesen, das hast Du oben schon getan:
if ($daten_neu.$daten_alt != "") {
if ($neu_vor_alt) {
print $daten_neu.$daten_alt;
} else {
print $daten_alt.$daten_neu;
}
} else {
print "<div style='font-weight:bold; text-align: center'>Es sind keine Einträge vorhanden!</div>";
}
?>
</body>
</html>
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch für seriöse Agenturen.