Gästebuch: Formular wird nicht angezeigt

svennson

Erfahrenes Mitglied
Moin,
ich hab nen bisschen an nem Gästebuch gesch´rieben und es ist auch noch nicht fertig, aber ich meine trotzdem, dass das Formular zum Eintragen der Daten schon angezeigt werden müsste wenn ich den Code im Browser aufrufe.
Wäre net wenn mir jemand sagen könnte, warum dem nicht so ist...
Danke schonmal im Vorraus

MFG,
Sven

Und hier noch der Code:
PHP:
<body>
<?php
if($action == add)
{
if($name == "" || $mail == "" || $text == "")
{
echo "<b>Du hast nicht alle Felder ausgef&uuml;llt !</b><br>";
echo "Klicke auf den Zurück-Button deines Browsers";
}
else{

}
}
else
{
?>
<b>Eintragen in mein G&auml;stebuch<b><br>
<form action="gb.php?action=add" method="get">
Dein Name: <input type="text" name="name" size="24"><br>
E-Mail: <input type="text" name="mail" size="24"><br>
Homepage: <input type="text" name="www" size="24"><br>
<br>
Dein Eintrag:<br>
<textarea name="text" cols="35" rows="5"></textarea><br> 
<input type="submit" value="Abschicken">
<input type="reset" value="Löschen">
</form>
<?php
}
$zeit = getdate();
$tag = $zeit["mday"];
$jahr = $zeit["year"];
$stunden = $zeit["hours"];
$minuten = $zeit["minutes"];
$monat = $zeit["month"];
$wochentag = $zeit["weekday"];

switch ($wochentag)
{ 
case "Monday";
	$wochentag_de = "Montag";
	break;
case "Tuesday";
		$wochentag_de = "Dienstag";
		break;
case "Wednsday";
		$wochentag_de = "Mittwoch";
		break;
case "Thursday";
    	$wochentag_de = "Donnerstag";
 		break;
case "Friday";
        $wochentag_de = "Freitag";
       break;
case "Saturday";
        $wochentag_de = "Samstag";
		break;
case "Sunday";
		$wochentag_de = "Sonntag";
		break;
}

switch($monat)
{
case "January";
    $monat_de = "Januar";
	break;
case "February";
     $monat_de="Februar";
     break;
   case "March";
     $monat_de="März";
     break;
   case "June";
     $monat_de="Juni";
     break;
   case "July";
     $monat_de="Juli";
     break;
   case "October";
     $monat_de="Oktober";
     break;
   case "December";
     $monat_de="Dezember";
     break;  
}
			

?>
</body>
 
Hi,

Probier doch mal so:

PHP:
if($action == "add")

ansonsten ist der Ausdruck wahr ... weil add (ohne Anführungszeichen) als unbekanntes Objekt und somit als Null interpretiert wird. ;)


Dunsti
 
Hatte ich zuerst auch so, dass ohne " " ist noch vom rumtesten woran es liegen könnte.
Sollte ich ansonsten einfach ne andere Bedingung festlegen?

MFG,
Sven
 
Was spricht, von der vollkommen ueberladen Adressleiste abgesehen, gegen GET?
Sollte genauso funktionieren.
Jedoch sollte sich unser Freund darueber klar sein, dass sein Code sowieso nur funktionieren kann wenn register_globals on ist.
 
Hab ich auch schon probiert, klappt leider auch nicht.
Ich probier es mal mit anderen Abfragebedingungen und wenn es dann auch nicht klappt, dann muss ich euch hier nochmal nerven ;)

MFG,
Sven
 
Ich glaub mit dem Formular selbst stimmt was nicht, weil immer wenn ich die Seite öffne ist diese zwar nur leer, trotzdem aber wird der Eintragszähler erhöht und in die Textdatei werden Datum und Uhrzeit mit sonst leeren Angaben geschrieben.
Sieht da wer nen fehler im Formular?
...und was sind register_globals?

MFG,
Sven
 
register_globals ist eine Einstellung in der php.ini
Wenn diese auf on steht kannst Du per POST und GET uebergebene Variablen direkt ueber den Namen ansprechen.
Ansonsten musst Du sie aus den Array $_POST oder $_GET holen.
Allgemein ist zu empfehlen mit diesen Arrays zu arbeiten, denn wenn man von einem Hoster mit register_globals=on zu einem Hoster mit register_globals=off umzieht darf man sich die Arbeit machen und alle Scripts die mit uebergebenen Variablen arbeiten.

Ein kleines Script zum testen der Einstellung habe ich hier schon ein paar Mal gepostet.
Hab es aber auch auf meiner Website veroeffentlicht.
Check for register_globals
 
JO, danke für die Info.
Das war nämlich aus bei mir.
Aber natürlich klappt es bei mir auch wieder nach der Änderung nicht -_-
 
Zurück