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 :-)]