Ich habe die dritte Zeile hingeschrieben weil es so nicht klappte:
if ($action == "add")
{
if ($text == "")
{
echo "<b>Du hast kein Text eingegeben !</b><br>";
echo "Klicke auf den Backbutton deines Browsers";
}
else
{
$a = fopen("gaestebuch.txt","r+");
$inhalt= fread($a,("gaestebuch.txt"));
fclose($a);
$d=fopen("gaestebuch.txt","w+"); // Datei zum Anhängen öffnen
if ($d) // Öffnen hat geklappt, $d ist ein Dateizeiger
{
fputs($d,"Von: ".htmlentities($name)."<br><br>");
fputs($d,strtr(nl2br(htmlentities($text)."$inhalt"."<br><hr><br>"),"\n\r"," "));
fputs($d,"$inhalt");
fputs($d,"\n");
fclose($d);
}
}
}
Ich habe den Ueberblik nicht verloren, das war alles absicht, mit den vielen Variablen.
$a = fopen("gaestebuch.txt","r+");
$inhalt= fread($a,("gaestebuch.txt"));
fclose($a);
//hier wurde der inhalt vom Gaestebuch, also alle frueheren Eintraege der Variablen $Inhalt uebergeben. Danach wurde $a geschlossen und nicht mehr benutzt.
$d=fopen("gaestebuch.txt","w+");
if ($d)
{
fputs($d,"Von: ".htmlentities($name)."<br><br>");
fputs($d,strtr(nl2br(htmlentities $text)."$inhalt"."<br><hr><br>"),"\n\r"," "));
fputs($d,"\n");
fclose($d);
}
// jetzt habe ich w+ benutzt, und damit die ganze Datei gaestebuch.txt geloescht, weil ich den inhalt der Datei in der Variablen $inhalt habe.$d wurde geschlossen
//jetzt habe ich gaestebuch schoonwieder aufgemacht, diesmal mit "a", damit ich die frueheren Eintraege addieren kann, und der neue Eintrag nicht geloescht wird.
$b = fopen("gaestebuch.txt","a");
fputs($b,("$inhalt"));
fclose($b);
Aber wie es scheint, hat sich in meine ueberlegungen ein Fehler eingeschlichen.
So wie es oben steht funktioniert es nicht, und so auch nicht :
if ($action == "add")
{
if ($text == "")
{
echo "<b>Du hast kein Text eingegeben !</b><br>";
echo "Klicke auf den Backbutton deines Browsers";
}
else
{
$a = fopen("gaestebuch.txt","r+");
$inhalt= fread($a,("gaestebuch.txt"));
fclose($a);
$d=fopen("gaestebuch.txt","w+"); // Datei zum Anhängen öffnen
if ($d) // Öffnen hat geklappt, $d ist ein Dateizeiger
{
fputs($d,"Von: ".htmlentities($name)."<br><br>");
fputs($d,strtr(nl2br(htmlentities($text)."$inhalt"."<br><hr><br>"),"\n\r"," "));
fputs($d,"$inhalt");
fputs($d,"\n");
fclose($d);
}
}
}
Vielleicht ist der Fehler ja woanders?
Hier der ganze Script :
<html>
<body bgcolor="#FFFFFF">
<font face="Verdana" size="1">
<b>Mein Gästebuch</b><br>
<br>
<?
if ($action == "add")
{
if ($text == "")
{
echo "<b>Du hast kein Text eingegeben !</b><br>";
echo "Klicke auf den Backbutton deines Browsers";
}
else
{
$a = fopen("gaestebuch.txt","r+");
$inhalt= fread($a,("gaestebuch.txt"));
fclose($a);
$d=fopen("gaestebuch.txt","w+"); // Datei zum Anhängen öffnen
if ($d) // Öffnen hat geklappt, $d ist ein Dateizeiger
{
fputs($d,"Von: ".htmlentities($name)."<br><br>");
fputs($d,strtr(nl2br(htmlentities($text)."$inhalt"."<br><hr><br>"),"\n\r"," "));
fputs($d,"$inhalt");
fputs($d,"\n");
fclose($d);
}
}
}
$g=file("gaestebuch.txt"); //Auslesen
if ((! isset($start)) || (! is_numeric($start))) // $start kommt über die URL, wenn nicht oder $start keine Zahl
$start=0; // ist, dann $start auf 0 setzen
// und nochmal für $einträge_pro_seite
if ((! isset($eintraege_pro_seite)) || (! is_numeric($eintraege_pro_seite)))
$eintraege_pro_seite=10;
for ($i=$start;$i<$start+$eintraege_pro_seite;$i++)
{
if (isset($g[$i])) // existiert überhaupt etwas an $g[$i]?
{
echo $g[$i]; // ja, eintrag ausgeben
echo "\n"; // kosmetik, ein bißchen luft tut immer gut
}
}
if ($start !=0)
{
echo "<a href="eintragen.php?";
echo "start=".($start-$eintraege_pro_seite);
echo "&eintraege_pro_seite=".$eintraege_pro_seite;
echo ""><center>zurück</a>";
}
else
{
echo "<center>zurück ";
}
if ($start+$eintraege_pro_seite<sizeof($g))
{
echo "<a href="eintragen.php?";
echo "start=".($start+$eintraege_pro_seite);
echo "&eintraege_pro_seite=".$eintraege_pro_seite;
echo ""><center>Weiter</a>";
}
else
{
echo "<center>weiter";
}
?>
<font face="Verdana" size="1">
<b><br><br><center>Eintragen in mein Gästebuch</b><br>
<form action="eintragen.php?action=add" method="post">
Dein Name: <center><input type="text" name="name" size="24"><br>
<br>
Dein Eintrag:<br>
<center><textarea name="text" cols="35" rows="5"></textarea><br>
<input type="submit" value="Abschicken">
</form>
</font>
</body>
</html>