Sooo, wo soll ich denn anfangen.
- Du sagst nicht, _welcher_ Fehler kommt. Viele Leute können schon anhand der Fehlermeldung sehen, was falsch ist. Fehlermeldungen sind dein Freund, und niemals "komisch". :)
Aber da ist ueberhaupt keine fehlermeldung, das ist das ja !
Der Eintrag wird nur in einem Ying-Yang aehnlchem riesigem Quader ausgegeben. Das war so nicht vorgesehn !
Ich habe ausserdem in der Datei nachgesehn, wo die Eintraege gespeichert werden (gaestebuch.txt) und ich glaube, dass ein Eintrag, der zu lang ist in 2 Eintraege gespalten wird, wenn ich wordwrap einbaue.
- Du hast das, was du eigentlich zum Laufen kriegen willst, schon wieder ausgebaut (jedenfalls sagst du das, obwohl ich eine wordwrap()-Funktion im Quelltext gefunden habe.
Genau, ich hatte aus Verzweifelung :) wordwrap an mehreren Stellen eingebaut, und an einer habe ichs vergessen .
Außerdem: Auf der angegebenen Seite wird man erstens nicht fündig (da ist nur absolutes Designchaos - und die extrem nervige Lycos-Werbung), und zweitens steht da kein Fehler im ersten Eintrag.
Das Desighn Chaos kommt teilweise davon, weil ich probleme mit CSS hatte. Das hat sich aber schon erledigt. Und dass fast alle Tabellen verschiedene groessen haben, das versuche ich ja gerade zu korrigieren.
Nunja, ich will wenigstens etwas richtig machen, darum fuege ich an dieser Stelle nochmal den Quelltext ein :)
http://mitglied.lycos.de/pandaemonium/gaestebuch/eintragen.php4
___________________________________________________
<html>
<style type="text/css">
<!--
.author { font-size: 10px; font-weight: bold; color: #FFFFFF}
.eintr { color: #DDDDDD }
.text { font-size: 12px }
-->
</style>
<body bgcolor="#FFFFFF">
<font face="Verdana" size="1,5">
<p><span style="font-size:16pt;"><font face="Comic Sans MS">Mein Gästebuch :</font></span></p>
<?php
$g=file("gaestebuch.txt");
$max=799; // 1 weniger setzen, weil beim Einlesen, nach loeschen 1 Eintrag zugefuegt wird
$eintraege = count($g);
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=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="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";
}
echo "<br><br><center>$eintraege Einträge";
?>
<font face="Verdana" size="2">
<h1><p><center>Eintragen in mein Gästebuch</h1><br>
<form action="eintragen.php" 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>