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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


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

      Stehe wirklich auf dem Schlauch

      Comment


      • #4
        PHP Code:
        <?php

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

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

        Code:
        <input type="text" name="vorname" value="" />
        Last edited by unset; 10-03-2008, 01:21.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Comment


        • #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.

          Comment


          • #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

            Comment


            • #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??

              Comment


              • #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

                Comment


                • #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)

                  Comment


                  • #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.

                    Comment


                    • #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)

                      Comment


                      • #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.

                        Comment


                        • #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)

                          Comment

                          Working...
                          X