Probleme mit Formular
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
break
code
eigentliche problem
fehlermeldung
formular
index
kleinschreibung
lebensdauer
machen
ort
parameter
problem
switch
tag
test
unterschied
url
ursache
zugreifen
-
Hallo Zusammen!
Hab mal wieder ein tag/problem">Problem.
Ich setze ein Cookie:
setcookie("test", "test", $cookielife);
Wenn das Cookie gesetzt ist kann ich auf ein Formular zugreifen:
if(isset($_COOKIE['test'])){ echo "<form name='Formeins' action='index.php?ort=test' method='post' enctype='multipart/form-data'>"; ... echo "<input type='submit' name='submit' value='Aktualisieren'>"; echo "</form>"; }
Mit GET überprüfe ich was includet werden soll:
if(isset($_GET['ort'])) { switch($_GET['ort']) { case "test": include "test.php"; break; } } else include "home.php";
Wenn ich jetzt den Submit button drücke, dann includet er immer die home.php anstatt test.php. Warum ist das so? Wenn ich die überprüfung des cookies weggebe funktioniert es. $_SERVER['PHP_Self'] funktioniert auch nicht.
Versteht ihr mein Problem? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
PHP ist sehr genau, was groß und kleinschreibung angeht.
d.h. es macht einen unterschied ob du $_SERVER['PHP_Self'] oder (wie es richtig ist) $_SERVER['PHP_SELF'] schreibst.
Das Problem mit dem Cookie kann mehrere Ursachen haben:
- $cookielife ist nicht oder zu kurz gesetzt, sodass das Cookie schon abläuft bevor die besagte Überprüfung stattfindet
- du hast eine Ausgabe vor setcookie(..). Dadurch sollte (sofern aktiviert) eine Fehlermeldung ausgegeben werden. Das Script läuft jedoch ganz normal weiter.
mfg -
syberpsace schrieb:
PHP ist sehr genau, was groß und kleinschreibung angeht.
d.h. es macht einen unterschied ob du $_SERVER['PHP_Self'] oder (wie es richtig ist) $_SERVER['PHP_SELF'] schreibst.
Das Problem mit dem Cookie kann mehrere Ursachen haben:
- $cookielife ist nicht oder zu kurz gesetzt, sodass das Cookie schon abläuft bevor die besagte Überprüfung stattfindet
- du hast eine Ausgabe vor setcookie(..). Dadurch sollte (sofern aktiviert) eine Fehlermeldung ausgegeben werden. Das Script läuft jedoch ganz normal weiter.
mfg
Hi!
Danke für deine Antwort(en)!
1) $_SERVER['PHP_SELF'] funktioniert auch nicht
2) $cookielife ist eine eine Stunde lang (time() + 60*60)
3) Cookie wird gesetzt.
Das eigentliche Problem ist aber das er die home.php includet anstatt die test.php. -
'index.php?ort=test'
Übergib den Parameter ort als hidden-field.
Zum Cookie Problem... Wie sieht $cookielife aus?
setcookie("test", "test", time()+3600);
Die Lebensdauer muss ja ausgehend von der aktuellen Zeit gesetzt werden.
EDIT:
Okay, grad gelesen :D
Beitrag zuletzt geändert: 8.7.2011 23:07:21 von fabo -
So!
Hab den (Anfänger)fehler gefunden!
Ich include ja eine datei. Dort befindet sich ein neues formular. Ich hab einfach den </form> tag vom ersten formular zu spät geschlossen..
Beitrag zuletzt geändert: 8.7.2011 23:40:16 von mrcap -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage