Hanjo: Übergabe von variablen ($_POST) von Script nach php-Seite ??

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

  1. Hallo,

    Wie krieg ich die dahin ?

    1. Wieso schickst du die Werte dann nicht an diese Seite?
    2. Via Hidden-Input-Feld übergeben.
    3. Via Sessions mitschleppen.

    gruß,
    Severin

    --
    Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
    --Philip K. Dick
    1. Hallo,

      Wie krieg ich die dahin ?

      1. Wieso schickst du die Werte dann nicht an diese Seite?
      2. Via Hidden-Input-Feld übergeben.
      3. 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

      1. 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

        --
        Losung und Lehrtext für Sonntag, 28. Dezember 2003
        Er wird mich ans Licht bringen, dass ich seine Gnade schaue. (Micha 7,9)
        Gott, der sprach: Licht soll aus der Finsternis hervorleuchten, der hat einen hellen Schein in unsre Herzen gegeben, dass durch uns entstünde die Erleuchtung zur Erkenntnis der Herrlichkeit Gottes in dem Angesicht Jesu Christi. (2.Korinther 4,6)
        (http://www.losungen.de/heute.php3)
  2. 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

    --
    Losung und Lehrtext für Sonntag, 28. Dezember 2003
    Er wird mich ans Licht bringen, dass ich seine Gnade schaue. (Micha 7,9)
    Gott, der sprach: Licht soll aus der Finsternis hervorleuchten, der hat einen hellen Schein in unsre Herzen gegeben, dass durch uns entstünde die Erleuchtung zur Erkenntnis der Herrlichkeit Gottes in dem Angesicht Jesu Christi. (2.Korinther 4,6)
    (http://www.losungen.de/heute.php3)
    1. 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

      1. 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

        --
        Losung und Lehrtext für Sonntag, 28. Dezember 2003
        Er wird mich ans Licht bringen, dass ich seine Gnade schaue. (Micha 7,9)
        Gott, der sprach: Licht soll aus der Finsternis hervorleuchten, der hat einen hellen Schein in unsre Herzen gegeben, dass durch uns entstünde die Erleuchtung zur Erkenntnis der Herrlichkeit Gottes in dem Angesicht Jesu Christi. (2.Korinther 4,6)
        (http://www.losungen.de/heute.php3)
        1. »

          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

          1. 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

            1. 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

              1. 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

                --
                Losung und Lehrtext für Sonntag, 28. Dezember 2003
                Er wird mich ans Licht bringen, dass ich seine Gnade schaue. (Micha 7,9)
                Gott, der sprach: Licht soll aus der Finsternis hervorleuchten, der hat einen hellen Schein in unsre Herzen gegeben, dass durch uns entstünde die Erleuchtung zur Erkenntnis der Herrlichkeit Gottes in dem Angesicht Jesu Christi. (2.Korinther 4,6)
                (http://www.losungen.de/heute.php3)
                1. 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

                  1. 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

                    --
                    Losung und Lehrtext für Montag, 29. Dezember 2003
                    Alles, was ich euch gebiete, das sollt ihr halten und danach tun. Ihr sollt nichts dazutun und nichts davontun. (5.Mose 13,1)
                    Einer trage des andern Last, so werdet ihr das Gesetz Christi erfüllen. (Galater 6,2)
                    (http://www.losungen.de/heute.php3)
              2. 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