Wert aus <input> in Session übergeben und auf anderer Seite abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wert aus <input> in Session übergeben und auf anderer Seite abfragen

    Hi Folk , ich weiss das es eigentlich nicht so schwer sein sollte.
    Aber ich bekomme das nicht hin


    Ich habe eine php Seite auf der im <Form> Tag ein <input type="text" name="Test1" value="0"> steht.

    Nun möchte ich den Inhalt von Test1 in eine Session übergeben um diesen Wert auf anderen Seiten wieder abfragen zu können.

    Nur leider funktioniert das bei mir nicht.

    Kann mir da jemand einen Tipp geben?

    Wenn ich <?php session_start();
    $_SESSION['vorname'] = 'Werner'; ?>
    schreibe kann ich es wieder mit echo $_SESSION['vorname'] versuche geht es. Aber wieso nicht mit der übergabe von <input ...>

    Gruss

    Toby

  • #2
    Wahrscheinlich, weil du eine PHP-Version fährst, die POST/GET-Variablen noch direkt auflöst. Greife über $_POST['name_des_input_elements'] drauf zu, dann sollte es gehen!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Wie wüde das denn dann aussehen?

      Stehe wirklich auf dem Schlauch

      Kommentar


      • #4
        PHP-Code:
        <?php

        $_SESSION
        ['vorname'] = $_POST['vorname'];

        ?>
        Wenn dein HTML-Input-Element so aussieht:

        Code:
        <input type="text" name="vorname" value="" />
        Zuletzt geändert von unset; 10.03.2008, 02:21.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Dennoch geht es bei mir nicht

          Ich habe auf der Eingabeseite innerhalb des <form> Tag

          <input name="vorname" value="" />
          ...
          <?php
          session_start();
          $_SESSION['test] = Meier
          $_SESSION['vorname] = $_POST['vorname'];
          ?>

          Und auf der Ausgabeseite

          <?php
          session_start();
          echo $_SESSION['vorname'];
          echo $_SESSION['test'];
          ?>


          Meier gibt er nir aus. Aber nicht was im <input> eingegeben wurde.

          Kommentar


          • #6
            Das ist nicht der Code den du benutzt! Außerdem haben wir hier PHP-Tags, damit es leserlicher ist. Ausbessern und nochmal versuchen!
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Doch, das ist der Code den ich nutze

              auf der Eingabe Seite
              PHP-Code:
              <?php
              session_start
              ();
              $_SESSION['test'] = Meier;
              $_SESSION['vorname'] = $_POST['vorname'];
              ?>
              und auf der die das <form> verweist steht
              PHP-Code:
              <?php
              session_start
              ();
              echo 
              $_SESSION['vorname'];
              echo 
              $_SESSION['test'];
              ?>
              Ist das Falsch??

              Kommentar


              • #8
                Wird diese Anweisung
                $_SESSION['vorname'] = $_POST['vorname'];
                in der Datei ausgeführt, die auch das Formular enthält?
                Dann sollte Dir klar sein, dass $_POST['vorname'] dort noch nicht bekannt ist.
                --> $_SESSION['vorname'] ist leer.
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  PHP-Code:
                  <?php
                  session_start
                  ();
                  if(isset(
                  $_POST)){
                    
                  $_SESSION['test'] = Meier;
                    
                  $_SESSION['vorname'] = $_POST['vorname'];
                  }else{
                    
                  //Formular ausgeben
                  }
                  kann es sein, dass du nicht vorgängig prüfst ob das Form schon verschickt wurde d.h. ob die POST-Werte überhaupt existieren?

                  Gruss

                  tobi
                  ?>
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Danke .. da war mein Fehler ^^

                    Also ich kann ja nichts mit SESSION gleichsetzen das noch nicht versendet wurde :-)

                    Aber wie kann ich das mit meinem <form> realisieren.
                    Setzte ich mein
                    PHP-Code:
                    <a href="javascript:document.kontaktform.submit();" onclick="submitform(); document.kontaktform.submit(); return false;">
                            <
                    div id="submitbtn" class="senden"><div>In den Warenkorb legen</a
                    in die Else Schleife erhalte ich ja nie den Absendebottom :-o

                    AufjedenFall danke für eure Mühe.

                    Kommentar


                    • #11
                      in die Else Schleife erhalte ich ja nie den Absendebottom :-o
                      Else- oder if/else/elseif-Schleifen gibt es NICHT! Das sind keine Schleifen. Hingegen sind z.B. for,while,do..while,foreach Schleifen.
                      In den else-Zweig deiner Bedingung sollte doch die Ausgabe des gesamten Forms rein.
                      Oder habe ich deine Feststellung, dass du nie den Absendebutton erhalten würdest falsch verstanden?

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Ich nehme dieses Codeschnipsel

                        PHP-Code:
                        <?php
                        session_start
                        ();
                        if(isset(
                        $_POST)){
                          
                        $_SESSION['test'] = Meier;
                          
                        $_SESSION['vorname'] = $_POST['vorname'];
                        }else{
                          
                        //Formular ausgeben
                        }
                        Wie binde ich das in mein Formular ein, bzw. binde ich bei der else Bedingung mein Absendebottom.

                        Mein Problem ist ja das bevor ich das Formular absende $_POST['vorname'] leer ist.

                        Kommentar


                        • #13
                          PHP-Code:
                          <?php
                          session_start
                          ();
                          if(isset(
                          $_POST)){
                            
                          $_SESSION['test'] = Meier;
                            
                          $_SESSION['vorname'] = $_POST['vorname'];
                          }else{
                            
                          //Formular ausgeben
                          ?>
                            <form action="wasweissich.html" method="post">
                            <input type="text" name="wasimmerduwillst" />
                            <input type="submit" />
                            </form>
                          <?php
                          }
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar

                          Lädt...
                          X