Hallo liebe PHP Profies.
Ich hoffe , dass mir jemand von euch helfen kann.
ich bin ein ziemlicher Anfänger in sachen programmieren, und ich wollte ein Programm erstellen, das mir mein Gästebuch ersetzen koennte.
Mit hilfe dieses Forums habe ich ein halbwegs Funktionierendes programm, aber nur halbwegs.
Der Eintrag zaehlär klappt nicht richtig, und die Eintraege werden nicht gespeichert.
Wenn mal schreibt und Ok drueckt, sieht es aus, als obt alles geklappt hat, aber wenn man nochmal auf die Seite Geht, sind die Einträge nicht mehr da.
Ihr koennt es selbst testen unter
http://mitglied.lycos.de/pandaemonium/
Hier ist der Script. Ich hoffe ihr blickt da durch.
Vielen Dank, Alex
<html>
<style type="text/css">
<!--
.author { font-size: 10px; font-weight: bold; color: #FFFFFF}
.eintr { color: #DDDDDD }
.text { font-size: 12px }
.extra {font-size:16pt ; font face="Comic Sans MS; color :#00FFF4 }
-->
</style>
<body bgcolor="#FFFFFF">
<font face="Verdana" size="1px" color=#000099>
<?php
$g=file("gaestebuch.txt");
$max=799; // 1 weniger setzen, weil beim Einlesen, nach loeschen 1 Eintrag zugefuegt wird
if(isset($g))
{
$eintraege = count($g);
}
else
$eintraege = 0;
if($eintraege>$max)
{
for($q=$max;$q<$eintraege;$q++)
{
unset($data[$q]);
}
}
if (isset($_POST["text"]))
{
if (trim($_POST["text"])=="")
{
echo "<b>Du hast kein Text eingegeben !</b><br>";
echo "Klicke auf den Backbutton deines Browsers";
}
else
{
$d=fopen("gaestebuch.txt","w+"); // Datei zum Anhängen öffnen
if ($d) // Öffnen hat geklappt, $d ist ein Dateizeiger
{
$neu= "<table border=0 width=350>";
$neu.= "<tr><td bgcolor=#00CCFF><div class=author>";
$neu.="Von: ".htmlentities($name);
$neu.= "</div></td></tr>";
$neu.="<tr><td bgcolor=#F4F4F4><div class=text>";
$neu.=strtr(nl2br(htmlentities(trim($text))."<br>"),"\n\r"," ");
$neu.="</div></td></tr></table><br><br>";
$neu.="\n"; //Ablschluss
fputs($d,$neu); // neuen Eintrag speichern
for ($i=0;$i<$max;$i++) // alte Einträge speichern
{
fputs($d,$g[$i]);
}
fclose($d);
array_unshift($g,$neu); // neuen Eintrag für den noch folgenden
// Code in $g einfügen
}
}
}
// Auch im Weiteren gaestebuch.txt _nicht_ laden, die aktuellen
// Daten stehen allesamt korrekt in $g.
$g=file("gaestebuch.txt"); //Auslesen
if ((! isset($_GET["start"])) || (! is_numeric($_GET["start"])))
$start=0; // URL-Variable start ist nicht angegeben oder keine Zahl, Standardwert einsetzen
else
$start=$_GET["start"]; // URL-Variable start ist brauchbar, Wert übernehmen
if ((! isset($_GET["$eintraege_pro_seite"])) || (! is_numeric($_GET["$eintraege_pro_seite"])))
$eintraege_pro_seite=10; // URL-Variable start ist nicht angegeben oder keine Zahl, Standardwert einsetzen
else
$eintraege_pro_seite=$_GET["$eintraege_pro_seite"]; // URL-Variable start ist brauchbar, Wert übernehmen
for ($i=$start;$i<$start+$eintraege_pro_seite;$i++)
{
if (isset($g[$i])) // existiert überhaupt etwas an $g[$i]?
{
$z=$i+1;
echo "<center><div class=eintr>Eintrag $z.</div>$g[$i]"; // ja, eintrag ausgeben
echo "\n"; // kosmetik, ein bißchen luft tut immer gut
}
}
if ($start !=0)
{
echo "<a href="index.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="index.php?";
echo "start=".($start+$eintraege_pro_seite);
echo "&eintraege_pro_seite=".$eintraege_pro_seite;
echo ""><center>Weiter</a>";
}
else
{
echo "<center>weiter";
}
echo "<br><br><center>$eintraege Einträge";
?>
<br><br>
<div class=extra>
<center>Eintragen<br></div>
<form action="index.php" method="post">
Dein Name: <center>
<input type="text" name="name" size="24" maxlength="24">
<br><br><br>
Dein Eintrag:<br>
<center><textarea name="text" cols="35" rows="5"></textarea><br>
<input type="submit" value="Abschicken">
</form>
</font>
</body>
</html>