Hallo liebe Experten!
Ich habe für die Homepage einer Freundin eine ganz simple Kommentar-Funktion in php geschrieben (ist nicht sonderlich elegant, aber es funktioniert - ich bin ja noch totaler Anfänger ^^).
- Formular in html (start.html), das die Variablen per GET an comments.php schickt.
- Dieses Script trägt die übernommenen Daten dann in die html-Datei direkt unterhalb des Formulars ein. (Zusätzlich wird es auch in eine Art Kommentar-Archiv kommentare.html eingetragen.)
Auf meinem eigenen Apache läuft es einwandfrei. Aber auf dem Server, auf dem die Homepage dann laufen soll, gibt es Probleme: Das Script läuft (die Variablen funktionieren, mit echo werden sie angezeigt). Aber es wird nichts mehr in die html-Dateien geschrieben!
Außerdem braucht der Server unheimlich lange, bevor das echo aus dem Script überhaupt angezeigt wird.
Bin ratlos. Würde mich freuen, wenn mir jemand weiterhelfen kann!
Danke im Voraus!
Yraja
html-Datei mit Formular (eines von mehreren):
http://www.total-gestoert.de/content/start.html
„Kommentar-Archiv“:
http://www.total-gestoert.de/content/kommentare.html
Quelltext des Scripts:
(http://www.total-gestoert.de/content/comments.php)
$name = $\_GET[name]; $message = $\_GET[message]; $marker = $\_GET[marker]; $zieldatei = $\_GET[zieldatei]; //Datei oeffnen $datei = fopen($zieldatei, "r+"); //Anzeige direkt nach dem Eintragen //[...] //Erstellen des Beitrags $heute = date("d.m.y"); $jetzt = date("H:i:s"); $insert = " **".$name."** schrieb am ".$heute." um ".$jetzt.": ".$message." \n\n"; //Laenge der gesamten Datei $dateilength = filesize($zieldatei); //Schleife zum Insert-Punkt finden while (!feof($datei)) { $buffer = fgets($datei); if (strncmp($buffer,$marker,15) == 0) { $rest = fread($datei,$dateilength); $restlaenge = strlen($rest); fseek($datei,-$restlaenge,SEEK\_END); fwrite($datei,$insert); fwrite($datei,$rest); } } fclose ($datei); //Eintragen ins Kommentar-Archiv $dateiarchiv = fopen("kommentare.html", "r+"); //Erstellen des Beitrags $heute = date("d.m.y"); $jetzt = date("H:i:s"); $insert = " **".$name."** schrieb am ".$heute." um ".$jetzt." auf ".$zieldatei.": ".$message." \n\n"; //Laenge der gesamten Datei $dateilength = filesize("kommentare.html"); //Schleife zum Insert-Punkt finden $punkt = ""; while (!feof($dateiarchiv)) { $buffer = fgets($dateiarchiv); if (strncmp($buffer,$punkt,20) == 0) { $rest = fread($dateiarchiv,$dateilength); $restlaenge = strlen($rest); fseek($dateiarchiv,-$restlaenge,SEEK\_END); fwrite($dateiarchiv,$insert); fwrite($dateiarchiv,$rest); } } fclose ($dateiarchiv); ?\>