Zum Inhalt springen

Werte der Variablen werden nicht aus der URL übernommen


Empfohlene Beiträge

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D 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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...