Problem mit session_start()

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

  • Problem mit session_start()

    Hi Leute.
    Ich hab ein grosses Prob mit session_start().

    Also, ich starte meine Session und lege Username und Passwort darin ab. Funktioniert bis dahin super. Wenn ich jetzt aber eine neue Seite aufrufe, übergebe ich die Session-ID per Post. Jetzt fange ich mein Script wieder mit session_start($session_id) an.
    Anstatt die Sessiondaten auszulesen, wird eine neue, leere Session angelegt. Wenn ich dann auf die gespeicherten Daten zugreifen will, bekomme ich nur 'undefined index.....'

    Kann da evtl. was an meinem PHP falsch konfiguriert sein?
    Ich benutze PHP4.2.3, Apache, Win2000.

    Thanxx

  • #2
    mach mal ein
    PHP-Code:
    echo $session_id
    Sind Globals bei dir on/off?

    Kommentar


    • #3
      re session_start()

      Globals sind off

      Thanxx

      Kommentar


      • #4
        Also nutzt man
        PHP-Code:
        $_GET[session_id]; 

        Kommentar


        • #5
          re session_start()

          Geht das auch mit post?

          Hier kurz mein Script:
          Script 1:
          PHP-Code:
          <?php  
          $User 
          "testuser";  
          $Pass "blabla";  

          @
          session_start();  
          $sess=session_id();  
          session_register("User");  
          session_register("Pass");
          session_register("sessId");  
          ?>  
          <html> 
          <head></head> 
          <body></p> 
          <form name="form1" method="post" action="session2.php"> 
            <input type="submit" name="Submit" value="Abschicken"> 
            <input type="hidden" name="sessId" value="<?php echo $sess?>"> 
          </form> 
          </body>
          Script 2:

          PHP-Code:
          <?php $sessId = @$_POST['sessId']; 
              @
          session_start($sessId); echo $User;  
            
          ?>
          _______________________________________________
          wie gesagt, gibt nen schönen undefined Index.
          Wenn ich die @ weglasse wird auch noch die neue leere Session angelegt.

          EDIT by TobiaZ: Nutze bitte die PHP-Tags!

          Kommentar


          • #6
            Sollte mit POST auch gehen, aber nicht sehr geeignet!

            1)
            PHP-Code:
            <?php  
            $User 
            "testuser";  
            $Pass "blabla";  

            session_name("s");
            session_start();  # @lassen wir erstmal weg!

            $sess=session_id();  

            session_register("User");  
            session_register("Pass");
            ?>  

            <html> 
            <head></head> 
            <body></p> 
            <form name="form1" method="post" action="session2.php?s=$sess"> 
              <input type="submit" name="Submit" value="Abschicken"> 
            </form> 
            </body>
            2)
            PHP-Code:
            <?php 
            session_name
            ("s");
            session_start();
            echo 
            $User;
            ?>

            Das ist wohl idealer!

            Kommentar


            • #7
              re: session_start()

              Da kommt dieses:

              Warning: Cannot send session cache limiter - headers already sent (output started at c:\Apache\htdocs\vdw2000\Script-Test\session2.php:5) in c:\Apache\htdocs\vdw2000\Script-Test\session2.php on line 7

              Notice: Undefined variable: User in c:\Apache\htdocs\vdw2000\Script-Test\session2.php on line 8

              Kommentar


              • #8
                du darfst natürlich vor der session keine ausgabe machen!

                Kommentar


                • #9
                  re: session_start()

                  Also ich hab das Script genau so übernommen, wie du es geschrieben hast.

                  Langsam bin ich echt am verzweifeln. Alles andere kriege ich irgendwie hin, aber die sessions ärgern mich schon seit 2 Wochen!!

                  Kommentar


                  • #10
                    @ silencer ..

                    1) bei session_start() musst du die session id nicht übergeben ..
                    macht php alles automatisch, entweder aus dem cookie oder wo auch immer .. get, post, geht alles .. solange die übergebene variable heisst wie die session .. (session_name())

                    2) bei session_start() wird ein cookie gesetzt .. dieses funktioniert über den header .. darum kann php nicht anders als zu meckern wenn du schon eine ausgabe an den client gesendet hast, und ne ausgabe beginnt immer mit header ..

                    3) in $_REQUEST['sessId'] hast du garantiert deine session id .. ganz gleich ob get, post oder cookie ..
                    mfg,
                    [color=#0080c0]Coragon[/color]

                    Kommentar


                    • #11
                      session_start()

                      TIP - baue dein Script wie folgt auf:

                      <?php
                      session_id("dein_session_name");
                      session_start();
                      session_register('.....');
                      ...


                      programmcode

                      ....

                      session_write_close();
                      ?>

                      Dies machst du in jedem Script, dadurch hast du
                      - in deinem Session-temp verz. für versch. Anwendungen die Sessiondaten angelegt und diese können sich nicht mehr untereinander prügeln
                      -brauchst du die Session-variablen nicht mit POST od. GET übergeben

                      ciao
                      eiko

                      Kommentar


                      • #12
                        Zu den Sessions haben wir ein super Tutorial. Und im Manual gibts auch ne großzügige Anleitung. Dass man da zwei Wochen hängen bleibt muss wirklich nicht sein!

                        @eiko: habe ich das den anders gemacht?

                        Kommentar


                        • #13
                          chchch heut gibts wohl ein allgemeines session Problem ihr könnt dann gleich mal bei meinem Thread weiter machen
                          Sunshine CMS
                          BannerAdManagement
                          Borlabs - because we make IT easier
                          Formulargenerator [color=red]Neu![/color]
                          Herkunftsstatistik [color=red]Neu![/color]

                          Kommentar


                          • #14
                            @benny: Bin aufm weg!

                            Kommentar


                            • #15
                              Irgendwie habe ich hier alles durchforstet, und dieser Beitrag beschreibt genau das Problem, was ich auch habe(bei jedem seession_start wird neue session angelegt). Nur leider finde ich hier nicht die Lösung des Problems. Vielleicht weiß es ja jemand, und kann mir einen Tipp geben, woran es liegen könnte.
                              Vielen Dank im Voraus!

                              Kommentar

                              Lädt...
                              X