Tobias K.: submit

Beitrag lesen

Hallo Christoph,

<form action="eintrag.php" method="post"><br>

da hier als action eintrag.php steht geht der Browser natürlich auf diese Seite. Du musst da etwas sowas reinschreiben: /index.php?action=gb und dann in dieser Datei mit include die eintrag.php einfügen (wobei in der dann natürlich kein <html><body> usw. stehen darf)

sinnvoller dürfte es aber sein, du machst eine Datei die meinetwegen gaestebuch.php heißt und etwa so aussieht:
<?php
if(!isset($_POST["submit"])){
/* $_POST["submit"] ist nicht gesetzt d.h. das Formular wurde nicht abgeschickt. */
// hier dann das Formular ausgeben
}
else{
  if(<deinebedingungen ob formular richtig ausgefüllt>){
  //hier datein in datei einfügen
  }
  else{
  //daten nicht vollständig
}
?>
und die dann immer "includest" wenn $_GET["action"] "gb" ist.

so, und jetzt noch einige Anmerkungen zu dem Code :-)

Dein Name:<input name="name"><br>

hier solltest du vielleicht noch ein type="text" hinschreiben und evtl ein size="..."

Dein Text:<textarea name="text"></textarea><br>

hier fehlt noch ein rows="" und cols="" (sonst wird das Feld auch etwas sehr klein)

im Übrigen solltest du dein Formular noch etwas positionieren das sieht so grauenvoll aus :-) (mit Tabellen *duck*)

if ($name != "" && $icq != "" && $mail != "" && $text != "") {

1. kannst du davon ausgehen, das register_globals=on ist? - da gehört $_POST["name"] usw. hin (sofern du eine neuere php-Version hast)
2. würde ich eher !empty($name) usw. verwenden
3. kann ich keinen Eintrag machen, da ich kein icq habe
4. solltest keine emailadresse vorschreiben, da manche diese vielleicht nicht angeben wollen (Spam)

$eintrag =

"Eintrag von $name mit der ICQ-Nummer $icq und der E-Mailadresse $mail schrieb:<br><br>$text";
hier solltest du noch eine \n hinter $text hängen

$datei = fopen("gb.txt", "wr");

was ist "wr" für ein Parameter? Du solltest "a" verwenden

echo "Bitte alle Felder ausfüllen<br>";

hier wäre es ideal, wenn du nochmal das Formular anzeigen würdest, mit den Daten die der User eingegeben hat.

Grüße aus Nürnberg
Tobias [der hofft dass das jetzt halbwegs verständlich war :-)]