Hallo mnapster,
zum Formular:
Dein Vorname:
Dein Kommentar:
Das sieht auf den ersten Blick okay aus, aber warum heißt das Feld für den Kommentar „yourname“? In der getcomment.php greifst du nämlich auf $_POST[„yourcomment“] zu und das existiert dann nicht. Das musst du also am Formular noch entsprechend ändern:
Dein Vorname:
Dein Kommentar:
Nun zum PHP-Script:
$name = echo . $_POST[„vorname“];
$comment = echo . $_POST[„yourcomment“];
$datei = fopen(„comment.php“, r+);
fwrite($name, $comment);
fclose($datei);
Wenn ich das richtig lese, willst du also die Formulardaten formatiert in die comment.php schreiben, inklusive des echo-Befehls, um sie auszugeben. Dabei machst du gleich so ziemlich alles falsch, was man falsch machen kann. Die HTML-Formatierungen dürfen nicht im Array-Bezeichner stehen, sondern außerhalb von $_POST[]. Beispielsweise existiert $_POST[„vorname“] gar nicht, wohl aber $_POST[„vorname“]. PHP nimmt es da zurecht sehr genau und gibt sonst einen Leerstring aus. Außerdem fehlen in den Strings $name und $comment die abschließenden Semikola, also nicht die des aktuellen Befehls, sondern die derjenigen, die in die comments.php geschrieben werden sollen. Und natürlich gehört dann bereits das „echo“ mit in die Anführungszeichen, die Anführungszeichen innerhalb der Strings müssen mit Backslash „escaped“ (Wer weiß dafür ein gutes, deutsches Wort?) werden. Damit es bei der Anzeige und beim Includen kein Problem gibt, sollten noch die PHP-Tags eingefügt werden, und der Übersicht halber noch Zeilenumbrüche. Beim Befehl fwrite() fehlt die Angabe der zu schreibenden Datei. Zur Kontrolle kannst du das Ganze am Ende oder an jeder beliebigen Stelle, wo der Kommentar erscheinen soll, per include() ausgeben lassen. Außerdem öffnest du die Datei comment.php besser mit dem Parameter „a+“, um weitere Kommentare anzuhängen. Wenn du den Kommentar jedesmal überschreiben willst, bleibst du einfach bei „r+“ (die Anführungszeichen sind erforderlich). Ich würde es einfach mal so probieren:
<?php $name = "<?php echo \"</p>Name: ".$\_POST['vorname']."\";\r";
$comment = "echo \"
Kommentar: ".$\_POST['yourcomment']."\";?\>\r";
$zusammen = $name.$comment;
$datei = fopen("comment.php", "a+");
fwrite($datei,$zusammen);
fclose($datei);
include("comment.php");
?\>
Du musst aber vorher bei allen und noch die Leerzeichen entfernen. Die habe ich nur wegen der Darstellbarkeit hier im Forum eingefügt.
LG
Huttatta