Problem bei übergabe von Variablen durch Session

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

  • Problem bei übergabe von Variablen durch Session

    Hallo,
    Code von session.php
    PHP-Code:
    <?php
    session_start
    ();
    echo 
    "<form method='post' action='session2.php'>
          <input type='submit' name='aktion' value='weiter' id='login'>
          </form>"
    ;
          
    $frage='wahr';
          
    session_register('frage');
          
    $id=session_id();
          echo 
    $id;
          
    session_register('id');
    ?>
    Code von Session 2
    PHP-Code:
    <?php
    session_start
    ();
    echo 
    $frage;
    echo 
    "<br>";
    echo 
    $id;
    echo 
    "<br>";
    echo 
    session_id();
    ?>
    So nun mein Problem wenn ich nun den weiter Button drücke zeigt der Browser mit nur mein echo session_id(); an! Die anderen Variablen fehlen!
    Ich dachte sie werden automatisch durch session_start(); erstellt?
    Inder für die Session angelgte temporäre Datei stehen die 2 Variablen aber drin.
    Vielleicht wisst ihr ja des Rätselslösung?
    mfg Firedog

  • #2
    Re: Problem bei übergabe von Variablen durch Session

    Was steht im Manual bzgl. session_register() ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Muss ich dieses register_globals auf on setzen???

      Kommentar


      • #4
        Original geschrieben von Firedog
        Muss ich dieses register_globals auf on setzen???
        Nein, bloss nicht.

        Sondern den ersten Teil der Anmerkung, wo da etwas von register_globals steht, berücksichtigen. Und ggf. auch mal einem Link darin folgen, der Alternativen erklären möchte.

        Oder auch das Beispiel durchlesen, welches in den Kommentaren ebenfalls überdeutlich darauf hinweist, was zu tun ist.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          kann es sein dass es sich hierbei um ein assoziatives Arry handelt? und ich es auch deswegen als Arry auslesen muss?? *hoffdasichendlichdieLösunggefundenhabe*

          Kommentar


          • #6
            probiers aus... du wirst das ergebnis sehen
            2 meiner pages:

            Kommentar


            • #7
              Dass session_register() veraltet ist, lassen wir mal ausser Acht. Wurdest ja schon darauf hingewiesen...
              Dein Prob ist noch ein anderes. Du musst doch die Session ID von session.php auf session2 weitergeben.
              Session ist ein Array, dass für jede vergebene Session ID angelegt wird. Dort drin stehen dann die einzelne Session Vars. Damit jetzt aber der Server,PHP oder wer auch immer, weiss welches Array das korrekte ist, musst du eine eindeutige Identifikation übergeben (eben die Session ID).
              Hast dir mal die Werte deiner zwei echos verglichen ? Ist ziemlich sicher nicht dieselbe Session ID.
              PHP-Code:
              //datei 1
              session_start();
              echo 
              session_id();

              //datei2
              session_start();
              echo 
              session_id(); 
              Die Werte sind ned gleich gelle ?
              Normalerweise führt ein session_start() dazu, dass eine übergebene Session ID erkannt wird und keine neue gestartet wird. In deinem Falle wird aber Script Nr 2 eine neue ID generieren, weil eben keine übergeben wurde.
              Zu guter Letzt
              PHP-Code:
              //nicht so
              session_start();
              echo 
              "<form method='post' action='session2.php'>
                    <input type='submit' name='aktion' value='weiter' id='login'>
                    </form>"
              ;
                    
              $frage='wahr';
                    
              session_register('frage');
                    
              $id=session_id();
                    echo 
              $id;
                    
              session_register('id');

              //besser so
              session_start();
              echo 
              '<form method="post" action="session2.php?'.strip_tags(SID).'">
              <input type="submit" name="aktion" value="weiter">
              </form>'
              ;
              $_SESSION['frage'] = 'wahr';
              //deine $_SESSION['id'] entspricht schon der Session ID --> nicht doppelt moppeln 
              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

              Lädt...
              X