Formularwerte übergeben
Marco
- php
0 romy0 Marco Eder0 romy0 Marco Eder0 romy
0 Gerhard Knabe0 LÖSUNG
Ansgar0 Ansgar
Sali Forum
Ich möchte ein Formular auswerten. Also wenn ein User das Formular ausgefüllt hat, sollte eine Bestätigungsseite erscheinen, in welcher nochmals alle Angaben aufgelistet sind, die er ausgefüllt hat. Laut diversen Büchern ginge das ganz einfach... der Inhalt des Inputfeldes wird auf der Bestätigungsseite automatisch in eine Variable übgeben. Leider geschieht das in der PHP Version 4.2.2 nicht mehr...
Jetzt meine Frage: Wie kann ich das trotzdem übergeben?
Bin für jede Hilfe dankbar...
Gruess Marco
Hi Marco,
Ich möchte ein Formular auswerten. Also wenn ein User das Formular ausgefüllt hat, sollte eine Bestätigungsseite erscheinen, in welcher nochmals alle Angaben aufgelistet sind, die er ausgefüllt hat. Laut diversen Büchern ginge das ganz einfach... der Inhalt des Inputfeldes wird auf der Bestätigungsseite automatisch in eine Variable übgeben. Leider geschieht das in der PHP Version 4.2.2 nicht mehr...
?
die Formulardaten sind entweder in $HTTP_POST[GET]_VARS (1) bzw. in $_POSTGET zu finden
Oder stolperst Du gerade über register_globals=off?
(1) man setze je nach der Methode in der Form Post oder Get ein.
ciao
romy
Sali Romy
Oder stolperst Du gerade über register_globals=off?
Das wäre gut möglich?!? Laut phpinfo sind register_globals=off...
Ist das nun gut oder schlecht :-)
Wie kann man die auf on stellen?
Fragen über Fragen...
Gruss Marco
Hi Marco,
Oder stolperst Du gerade über register_globals=off?
Das wäre gut möglich?!? Laut phpinfo sind register_globals=off...
Ist das nun gut oder schlecht :-)
Wie kann man die auf on stellen?
Fragen über Fragen...
on bedeutet, dass Du direkt auf die übergebenen Variablen zugreifen kannst, dass ist allerdings ein Zustand den man vermeiden sollte, denn wie willst Du sonst wissen, ob $var eine Formularvarioable ist, oder eine Sessionvariable oder eine Servervariable.
Deswegen greift man auf diese Variablen über das jeweilige globale Array zu. Also $_POST, $_GET, $_SESSION usw.
Soweit ich weiss ist das auch wesentlich sicherer.
Wenn Dir das egal ist, kannst Du entweder direkt in der php.ini register_globals auf on setzen oder ich glaube es geht auch über ini_set()
ciao
romy
Ok, danke für dein Hilfe Romy. Ich glaube ich werde die register_global auf on stellen. Anders bekomme ich das vorerst irgendwie nicht gebacken :-)
Gruss Marco
Hi,
Ok, danke für dein Hilfe Romy. Ich glaube ich werde die register_global auf on stellen. Anders bekomme ich das vorerst irgendwie nicht gebacken :-)
bitte, aber was ist dein Problem eine Variable nicht über ihren Namen sonder über ihren Eintrag in einem globalen Array abzufragen. Ob Du nun echo $var schreibst oder echo $_POST["var"] ist doch egal oder? (ob es post oder get ist, weisst DU wenn Du guckst, ob du dein Formular mit method="post" oder method="get" ausstattest)
Warum sollte man es erst falsch lernen? ;)
ciao
romy
Sali
bitte, aber was ist dein Problem eine Variable nicht über ihren Namen sonder über ihren Eintrag in einem globalen Array abzufragen. Ob Du nun echo $var schreibst oder echo $_POST["var"] ist doch egal oder? (ob es post oder get ist, weisst DU wenn Du guckst, ob du dein Formular mit method="post" oder method="get" ausstattest)
Mein Problem damit ist, dass ich es die ganze Zeit schon so versucht habe, es aber irgendwie einfach nicht klappen will...
Aber ok, du hast es nicht anders gewollt :-)
Hier ist mal der Link zum Formular:
<link>http://www.zti.ch/db/angebot_infostest.php?id=113<link>
Wie ich vorhin im php info von der Bestätigungseite entnehmen konnte, werden die Variablen übergeben. Nur das aufrufen auf der Bestätigungsseite (auswahl.php) funzt nicht...
Naja, wenn du lust und zeit, tu dir keinen Zwang an, mal nachzuschauen... Ich bin mit meinen Nerven am Ende :-)
Gruss Marco
ich bins nochmal
Ein Wunder ist geschehen. Es geht! Habe nur von Get auf Post gewechselt... Und vorhin oft die Falsche Datei upgeloadet, ich depp :-)
Danke für die Hilfe und dem ganzen Forum noch einen schönen Abend :-)
Gruss Marco
Das ist abhängig von den php.ini Einstellungen und der track_vars Einstellung . Auf die Post Variablen kannst du aber immer über $_POST oder $HTTP_POST_VARS zugreifen (und solltest das aus Portierunggründen auch tun, wobei $_POST ab PHP 4.1 vorhanden ist und bevorzugt verwendet werden sollte). Der Unterschied zwischen beiden ist, daß $_POST stets global ist, in einer Funktion also nicht als global definiert werden muß, um darauf zuzugreifen. $HTTP_POST_VARS dagegen verhält sich wie eine normale globale Variable.
Mehr findest Du im PHP Handbuch unter "Vordefinierte Variablen" herunterladbar von http://www.php.net/docs.php
MfG
GK
sendefile
form ... method="post" ....
....
<input type="text" name="furz" ... >
...
.-.-.-.-.-.-.-.-.-.-.
empfangsskript
<?
$furz_1 = $_POST['furz'];
echo "$furz - heureka";
?>
mfg
Ansgar
Ja ist schon gut ist ein Fehler im CODE. bevor ihr mich hier zerreißt. aber so funtzts.
empfangsskript
<?
$furz_1 = $_POST['furz'];
echo "$furz - heureka";
heisst $furz nicht $furz_1.