EvilKnivl Geschrieben 10. Oktober 2003 Teilen Geschrieben 10. Oktober 2003 Hallo, bin gerade bei PHP am Einsteigen und schon auf mein erstes Problem gestoßen. Geschrieben werden soll ein skript mit zwei HTML-Formular Feldern, wo man seinen Name und seinen vornamen eingeben kann. (siehe http://warz.serveftp.net/formular1.php) Dann gibt es noch einen Button zum versenden seiner Eingaben, den ich abschicken genannt habe (Variablenamen). Ich benutze die "get" methode um auf die variablen zuzugreifen => man kann die variable und deren werte in der url ablesen. nun habe ich eine if bedingung geschrieben, dass beim vorhandensein der variable $abschicken der text ausgegeben wird: if ($abschicken) { echo "Herzlich willkommen $vorname $nachname"; } Leider übernimmt er die werte der variablen nicht aus der url, daher hat die variable $abschicken den Wert 0 und die if-bedingung greift nicht. Wer weiß rat??? :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 10. Oktober 2003 Teilen Geschrieben 10. Oktober 2003 also du kannst die variablen doch auch per sessions weitergeben. dies ist wahrscheinlich eher zu empfehlen... wahrscheinlich sind die global variablen auf deinem server "falsch" eingestellt. und in deiner if bedinung muss das dann ($abschicken == "1") lauten und nicht ($abschicken) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 10. Oktober 2003 Teilen Geschrieben 10. Oktober 2003 Original geschrieben von sYnTaxx wahrscheinlich sind die global variablen auf deinem server "falsch" eingestellt. Nein sie sind richtig eingestellt, er greift nur falsch drauf zu. $_GET['variable'] anstatt $variable ist dein Freund. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EvilKnivl Geschrieben 21. Oktober 2003 Autor Teilen Geschrieben 21. Oktober 2003 Sollte die Bedingung so aussehen? if($_GET[abschicken] == "1") Allerdings setzt er denn wert für die variable abschicken nicht auf 1 :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. Oktober 2003 Teilen Geschrieben 21. Oktober 2003 Original geschrieben von EvilKnivl Sollte die Bedingung so aussehen? if($_GET[abschicken] == "1") Allerdings setzt er denn wert für die variable abschicken nicht auf 1 :confused: mit $_GET[abschicken] = "1 " würdest du den wert auf 1 setzen. mit $_GET[abschicken] == "1" würde der inhalt von $_GET[abschicken] auf "1" geprüft und dann je nach ergebnis die if anweisungen ausgeführt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EvilKnivl Geschrieben 21. Oktober 2003 Autor Teilen Geschrieben 21. Oktober 2003 Das Problem ist ja, dass das Drücken des Abschicken Buttons die Variable Abschicken auf 1 setzen sollte. Da ich die get-Methode benutze, sehe ich in der URL ja die werte meiner Variablen. Die Werte des Vornamen und des Nachnamen übernimmt er ja ohne zu mosern. Allerdings steht dann am ende ...?vorname=soundso&nachname=soundso&abschicken= [gähnende Leere] Ich arbeite mit einem Buch für PHP-Einsteiger, allerdings scheint der Autor dort einen kleinen Fehler reingebaut zu haben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
superuser Geschrieben 21. Oktober 2003 Teilen Geschrieben 21. Oktober 2003 Hallo, versuche es mal mit folgendem ... das sollte unabhängig davon sein ob der Variablen ein Wert zugewiesen ist oder nicht. if (isset($_GET['abschicken'])) echo "Hallo".$_GET['vorname']." ".$_GET['nachname']."<br />"; [/PHP] Mfg Superuserif Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. Oktober 2003 Teilen Geschrieben 21. Oktober 2003 abschicken ist bei dir der name des buttons. wenn du diesen drückst wird der wert der variable "true" über die get variable gesendet. "true" wird interpretiert sich in der url so das eine variable da ist. wenn die varible den wert "false" hätte würde sie nicht in der url angezeigt werden! wenn du 2 buttons hättest und du so das form submitten würdest ware in der url der name des buttons den du gedrückt hast mit deiner "gähnenden leere" in der url und die varible des anderen buttons wäre gar nicht vorhanden! einigermaßen verständlich? Gruß kills Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 21. Oktober 2003 Teilen Geschrieben 21. Oktober 2003 Und falls Du's unbedingt mit einem Wert machen willst: <input type="submit" name="abschicken" value="Abschicken"> [/PHP] Dann kannst über [PHP] if ($_GET['abschicken'] == "Abschicken") { //machwas } bzw. bei PHP <4.1.0 if ($HTTP_GET_VARS['abschicken'] == "Abschicken") { //machwas } [/PHP] ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EvilKnivl Geschrieben 21. Oktober 2003 Autor Teilen Geschrieben 21. Oktober 2003 Original geschrieben von kills abschicken ist bei dir der name des buttons. wenn du diesen drückst wird der wert der variable "true" über die get variable gesendet. "true" wird interpretiert sich in der url so das eine variable da ist. wenn die varible den wert "false" hätte würde sie nicht in der url angezeigt werden! wenn du 2 buttons hättest und du so das form submitten würdest ware in der url der name des buttons den du gedrückt hast mit deiner "gähnenden leere" in der url und die varible des anderen buttons wäre gar nicht vorhanden! einigermaßen verständlich? Jetzt ja Ich dachte eben nur, dass, wie bei den vorhergehenden variablen 'vorname' und 'nachname', ebenfalls ein wert hinter dem Gleicheichen stehen müßte, in diesem fall eben 1. Nichtsdestotrotz war dieser wert für abschicken in meiner url ja vorhanden. Ich denke das Problem war die syntax. wie ich oben schon erwähnt habe, benutze ich ein Buch vom franzis-verlag mit dem schönen titel "PHP- Echt einfach". Einfach in den Wahnsinn getrieben, auf jeden fall :uli hier nun der code <?php //formular1.php - korrigierte Fassung //Dynamische Webseiten mit PHP4 - Echt einfach Franzis Verlag 2001 //© J. Franke 2002 ?> <form name="formular1" action="formular1.php" method="get"> Bitte geben Sie hier Ihren Vornamen ein: <input type=text name=vorname><br><br> Bitte geben Sie hier Ihren Nachnamen ein: <input type=text name=nachname><br><br> <input type=submit name=abschicken> </form> <?php if(isset($abschicken)){ echo "<b>Herzlich willkommen $vorname $nachname.</b>"; } ?> Man beachte, dass es sich hier schon um die korrigierte Fassung von beigelegter CD handelt (Die ich leider zu dem Zeitpunkt noch nicht hatte, da das Buch nur ausgeliehen ist). Im Buch steht der ganze spass sogar noch ohne das isset. Da macht Programmieren Spass Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EvilKnivl Geschrieben 21. Oktober 2003 Autor Teilen Geschrieben 21. Oktober 2003 Original geschrieben von superuser Hallo, versuche es mal mit folgendem ... das sollte unabhängig davon sein ob der Variablen ein Wert zugewiesen ist oder nicht. if (isset($_GET['abschicken'])) echo "Hallo".$_GET['vorname']." ".$_GET['nachname']."<br />"; [/PHP] Mfg Superuserif [/b] $_GET ist der Schlüssel :bimei Jetzt funzt es auch. Ich bedanke mich an der Stelle für die gute Hilfe, die alle geleistet haben. greetz evil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.