Übergabe von variablen ($_POST) von Script nach php-Seite ??
Hanjo
- php
Moin auch,
wieder mal Tomaten auf den Augen, daher auch im Archiv noch nichts hilfreiches gefunden:
Mit einem PHP-Script werte ich ein Formular aus.
Das Script kennt also die Werte von $_POST.
Das Script ruft eine php-Seite auf, die etliche dieser Werte benötigt.
Wie krieg ich die dahin ?
mit $aufrufseite = "meineseite.php?var=$_POST" wärs ja auch zu kindisch einfach.....
TIA
Hanjo
Hallo,
Wie krieg ich die dahin ?
gruß,
Severin
Hallo,
Wie krieg ich die dahin ?
- Wieso schickst du die Werte dann nicht an diese Seite?
- Via Hidden-Input-Feld übergeben.
- Via Sessions mitschleppen.
Moin auch,
1-2 ist klar.
Aber 3 (Via Session mitschleppen) hab ich noch nie gemacht.
Hört sich interessant an.
Wie geht das ?
TIA
Hanjo
Hallo Hanjo!
Aber 3 (Via Session mitschleppen) hab ich noch nie gemacht.
Wie geht das ?
Ist im Prinzip relativ einfach, schau dir am besten mal paar Tutorials und das Manual dazu an.
(Funktioniert eigentlich so, daß du beim User nur eine Variable "mitschleppen" (per get oder Cookie meistens) mußt, und auf alle anderen dann über diese eine zugreifen kannst - oder so ähnlich halt ;)
Lesetips:
* http://de2.php.net/session
* http://dclp-faq.de/ch/ch-version4_session.html
MfG
Götz
Hallo Hanjo!
Mit einem PHP-Script werte ich ein Formular aus.
Das Script kennt also die Werte von $_POST.
Nicht zwingend. Formulare können ja auch per get übergeben werden.
Das Script ruft eine php-Seite auf, die etliche dieser Werte benötigt.
Hä? Welches Script ruft was auf?
Ich dachte, die Seite, an die das Formular geschickt wird, wäre ein Script ... (was ja auch sinnvoll wäre ;) - und dieses Script ist ja selbst schon eine PHP-Seite, was wird also nun noch zusätzlich aufgerufen, und wozu?
mit $aufrufseite = "meineseite.php?var=$_POST" wärs ja auch zu kindisch einfach.....
Wenn Du $_POST serialisierst könntest Du das evtl. sogar machen, ob das sinnvoll wäre ist eine andere Frage.
Du kannst ja bspw. auch mit foreach oder so alle Elemente von $_POST durchgehen und dir nen GEt-String so selbst draus bauen ...
Ich weiß zwar immer noch nicht so genau, was du vorhast, aber ich hoffe, daß ich Dir trotzdem ein wenig helfen konnte.
MfG
Götz
Hä? Welches Script ruft was auf?
Ich dachte, die Seite, an die das Formular geschickt wird, wäre ein Script ... (was ja auch sinnvoll wäre ;) - und dieses Script ist ja selbst schon eine PHP-Seite, was wird also nun noch zusätzlich aufgerufen, und wozu?
Moin auch,
also: eine normale HTML-Seite ruft mit form action POST ein PHP-Script auf.
Dieses verarbeitet die Eingaben und sendet eine eMail an den 'Ausfüller'.
Danach ruft das Script eine Seite auf, mit einem 'Bedankemich'Text.
(Könnt ja auch ne HTML-Seite sein, sicher...).
Aber da ich dort den 'Ausfüller' etwas persönlicher anreden will und ihm bestätigen möchte, was er ausgefüllt hat (wenigstens das Wichtigste), brauch ich dort die Werte.
Deshalb hab ich die 'Bedankemich'_Seite auch zu einer php-Seite gemacht.
Nun klarer ?
Wenn Du $_POST serialisierst könntest Du das evtl. sogar machen, ob das sinnvoll wäre ist eine andere Frage.
Nun weiß ich leider nicht wirklich, was Du mit 'serialisieren' meinst.
(Hört sich aber aufregend an..;-))
Ich weiß zwar immer noch nicht so genau, was du vorhast, aber ich hoffe, daß ich Dir trotzdem ein wenig helfen konnte.
Noch nicht ganz, aber Rom.....
Gruß von der Ostsee
Hanjo
Hallo Hanjo!
Danach ruft das Script eine Seite auf, mit einem 'Bedankemich'Text.
Aber da ich dort den 'Ausfüller' etwas persönlicher anreden will und ihm bestätigen möchte, was er ausgefüllt hat (wenigstens das Wichtigste), brauch ich dort die Werte.
Deshalb hab ich die 'Bedankemich'_Seite auch zu einer php-Seite gemacht.
Nun klarer ?
Ja.
Was gibt denn die Seite, an die das Formular gesendet wird an den Brauser zurück? (ich vermute mal bisher nichts ;)
Machs einfach so:
Nachdem die Mail verschickt wurde gibts du im gleichen Script noch die Bestätigungsseite aus.
Sparst Dir ein Script, und tut genau das ,was du willst, oder?
Nun weiß ich leider nicht wirklich, was Du mit 'serialisieren' meinst.
(Hört sich aber aufregend an..;-))
Ja, ist furchtbar aufregend :)
Such mal im Archiv nach "PHP serialize" oder so, da solltest du einiges finden.
Oder schau einfach bei http://php.net/serialize vorbei.
Noch nicht ganz, aber Rom.....
... aha!
MfG
Götz
»
Machs einfach so:
Nachdem die Mail verschickt wurde gibts du im gleichen Script noch die Bestätigungsseite aus.
Sparst Dir ein Script, und tut genau das ,was du willst, oder?
Moin auch,
das hörte sich verlockend an, also versuchte ich es.
Aber - weiß der Geier - das gleiche Phänomen:
Von einer Zeile zur anderen scheint er seine Variablen 'vergessen' zu haben, und zwar nur die in $_POST[....
Die anderen, die ich zwischenzeitliche eingab, kennt er noch....
Naja, ich suche weiter.
Gruß von der Ostsee
Hanjo
hi,
das hörte sich verlockend an, also versuchte ich es.
Aber - weiß der Geier - das gleiche Phänomen:Von einer Zeile zur anderen scheint er seine Variablen 'vergessen' zu haben,
hast du obigen ansatz _verstanden_?
du sollst überhaupt keine zwei scripte mehr benutzen, sondern _beides_ mit dem aufruf einer einzigen script-ressource abhandeln.
wo kann denn dann noch "zwischendurch" irgendwas "vergessen" werden?
und zwar nur die in $_POST[....
Die anderen, die ich zwischenzeitliche eingab, kennt er noch....
lass mich raten, die per GET-methode übergebenen "kennt" er noch ...?
wenn ja, dann mach dir doch erst einmal klar, wo eigentlich der unterschied zwischen GET und POST liegt.
gruss,
wahsaga
hast du obigen ansatz _verstanden_?
du sollst überhaupt keine zwei scripte mehr benutzen, sondern _beides_ mit dem aufruf einer einzigen script-ressource abhandeln.
Doch, schon. Es ist nur noch eine einzige PHP-Seite, in die ich das ursprüngliche Script 'eingebettet' habe.
wo kann denn dann noch "zwischendurch" irgendwas "vergessen" werden?
DAs Frage ich mich allerdings auch.
In zeile 281:
$message2 = "Sehr geehrt";
$Anrede = "Lieb";
$Sex = @$_POST['sex'];
if ( $Sex == '0')
{ $message2 .= "e Frau ";
$Anrede .= "e Frau "; }
else
{ $message2 .= "er Herr ";
$Anrede .= "er Herr ";}
$Nachname = @$_POST['Nachname'];
$message2 .= $Nachname;
$Anrede .= $Nachname;
In Zeile 392
mail($recmail, $recsubject, $message2); (=> funktioniert prächtig, alles eingesetzt)
In Zeile 401
echo '<p>',$Anrede,'</p>'; (=> Hier Steht nur 'Lieber Herr' egal, ob '0' oder '1' oben in $_POST['sex'] steht. Denn Nachnamen kennt er auch nicht.....
Ich weiß nicht....
Gruß von der Ostsee
Hanjo
Hallo Hanjo!
In Zeile 401
echo '<p>',$Anrede,'</p>'; (=> Hier Steht nur 'Lieber Herr' egal, ob '0' oder '1' oben in $_POST['sex'] steht. Denn Nachnamen kennt er auch nicht.....
Eigentlich dürfte er da _gar nichts_ einsetzen, weil:
Es müßte richtiger
echo('<p>'.$Anrede.'</p>');
heißen (Die Klammern sind egal, aber die , müssen imho Punkte sein, ich glaub Kommas gehen an dieser Stelle nicht.).
Ansonsten weiß ich auch nicht, worans liegen könnte.
Kannst Du z.B. $message2 an dieser Stelle ausgeben?
Stell doch auch mal Dein Error-Reporting hoch, vielleicht hat PHP ja was interessantes zu sagen ... (falls Du es noch nicht auf E_ALL stehen hast)
MfG
Götz
hi,
echo '<p>',$Anrede,'</p>';
Eigentlich dürfte er da _gar nichts_ einsetzen, weil:
Es müßte richtiger
echo('<p>'.$Anrede.'</p>');
heißen (Die Klammern sind egal, aber die , müssen imho Punkte sein, ich glaub Kommas gehen an dieser Stelle nicht.).
doch, die kommas(sic!) "gehen".
siehe manual, http://www.php.net/manual/de/function.echo.php:
"Beschreibung
echo ( string arg1 [, string argn...])
Gibt alle als Parameter angegebenen Strings aus."
und auch in den beispielen dort findest du u.a. die syntax mit den kommata.
sie ist zwar weit weniger gebräuchlich, nichts desto trotz aber ebenso richtig und "erlaubt".
gruss,
wahsaga
Hallo wahsaga!
doch, die kommas(sic!) "gehen".
siehe manual, http://www.php.net/manual/de/function.echo.php:
sie ist zwar weit weniger gebräuchlich, nichts desto trotz aber ebenso richtig und "erlaubt".
Ah, interessant.
Das wußte ich nun wirklich noch nicht und danach geschaut hatte ich auch noch nie ;)
Ich wuerde aber trotzdem davon abraten Kommata zu benutzen, weil es ja kaum einer macht (glaube ich zumindest) und es deswegen nur viele Leute verwirrt, oder so :)
MfG
Götz
hiho,
In Zeile 401
echo '<p>',$Anrede,'</p>'; (=> Hier Steht nur 'Lieber Herr' egal, ob '0' oder '1' oben in $_POST['sex'] steht. Denn Nachnamen kennt er auch nicht.....
Dann überschreibst du es irgendwo! Schau dein Script nochmal genau durch. Das kann nicht einfach verschwinden. Und schon gar nicht zur hälfte, wenn $Anrede schon mal "Lieber Herr Müller" enthalten hat gibt es keinen Fehler der daraus wieder "Lieber Herr" macht wenn du es nicht irgendwo ausversehen überschreibst
Marc