Moin!
<?
So geht das nicht, es ist auf bestimmte unsichere Optionen in der php.ini angewiesen.
Konfiguration:
$neu_vor_alt=true; # >> false, wenn alt vor neu: Ohne Anführungsstriche!
$filename="eintraege.txt";
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'])));
# Es fehlte das Umwandeln von HTML-Code.
# Sonst wird womöglich irgendwelcher JS-Scheiss in Dein GB eingetragen und alle wundern sich :)
$kommentar = str_replace("\n","<br>",$kommentar);
# str_replace ist bei einfachen Erstzungen schneller
# 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");
fwrite($datei, $daten);
fclose($datei);
}
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>";
}
?>
ich hoffe das reicht jetzt als info!
Na... ich auch, ich habe da allerhand Unsinn rausgemacht. Woher stammt das (schlechte) Beispiel?
Ach so: keine Garanie, es können Typos drin sein.
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.