alex: blaettern

Beitrag lesen

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>