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>