session_id ändert sich

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

  • session_id ändert sich

    hallo,

    ich bin jetzt hier schon 2 stunden im forum unterwegs und habe so ziemlich jeden post zum thema "session_id ändert sich" gelesen. Ich konnte auch einige interesante Dinge fiden und vieles austesten. Aber leider hat nichts mein Problem gelöst.

    Wie schon erwähnt, ändern sich meine session_id bei jedem seitenaufruf.
    Das ganze ist erst seit heute so, ich habe festgestellt das mein porvider (1und1) die PHP Version 4.3.6 drauf gemacht hat. Also denke ich mal es hat damit etwas zu tun. Da ich an meinem Script über nacht nicht geändert habe.

    ich habe mir mir phpinfo mal die wichtigsten werte anzeigen lassen.[list=1]
    session.use_trans_sid Off
    session.use_only_cookies Off
    session.use_cookies On
    session.gc_maxlifetime 1440
    register_globals On[/list=1]

    Ich denke das ist soweit alles in Ordnung?!

    Nun zu meinem Script.

    Ich habe eine Hauptdatei die alle anderen Seiten includet
    PHP-Code:
    // Include Bereich der ausgewählten mapid
      
    if($_GET['mapid'] != 1)
      {
        
    $inc $row_mapid['datei'];
        include(
    "$inc");
      } 
    so das ich session_start() auch nur einmal aufrufen muss
    PHP-Code:
    session_name(WID);
    session_start(WID); 
    vor session_start ist auch keine ausgabe, weder php noch html.

    ich weis wirklich nicht warum er plötzlich die session_id immer ändert.
    ich habe auch verschiedene browser getestet. und jeweils die cookies aktiviert und deaktiviert.
    egal welche einstellung ich vorgenommen habe, es hat nicht funktioniert.

    ich hoffe mir kann jemand helfe, ich komme echt nicht auf meinen fehler!!

    Gruß Tim

  • #2
    was hat denn die Parameter im session_start() verloren?
    und was soll session_name() vor session_start() bewirken?

    Kommentar


    • #3
      ich wollte der session einen eindeutigen namen geben.

      Kommentar


      • #4
        OK, aber session_start() erwartet KEINE Parameter. Ist WID ne Konstante? wenn nicht setzt in ''.

        Kommentar


        • #5
          ok danke für den tipp.

          ich habe session_name heute nachträglich mal eingefügt. nachdem ich den fehler mit der sich ändernen session_id bemerkt hatte. so zum testen ob es daran liegen kann.

          merkwürdigerweise funktioniert es jetzt nur mit:
          PHP-Code:
          session_start(); 
          im prinzip ist es jetzt wie gestern abend. da soll mal einer durchblicken!!

          Jetzt funktioniert es sobald der browser cookies akzeptiert, tut er es nicht, sollte ja die SID per $_GET übertragen werden, passiert aber nicht

          muss der wert in der php.ini nicht auf ON stehen, oder hat das damit nichts zu tun
          PHP-Code:
          session.use_trans_sid Off 

          Kommentar


          • #6
            Bingo, Du hast den Fehler gefunden

            session.use_trans_sid sorgt dafür, daß die SID automatisch an nachfolgende Seiten übergeben wird. Ist hier "Off" eingetragen, dann funktioniert die SID-Weitergabe nur noch über Cookies oder manuell.

            Vielleicht hilft da eine Mail an die Technik von1und1 weiter, wenn Du keinerlei Rechte hast, eine eigene php.ini in Deinem Verzeichnis zu lagern....
            Happiness is an empty error log

            Kommentar


            • #7
              Danke für deine schnelle Antwort. Ich werde mich dann mal darum kümmern das 1und1 den Wer auf ON setzt.

              Aber schon dumm das die einen nicht informieren, wenn die einfach so eine neue PHP Version draufmachen !

              naja egal, so habe ich das mit den SESSIONS wieder ein bisschen mehr verstanden.

              Gruß Tim

              Kommentar


              • #8
                Original geschrieben von SOB22
                Danke für deine schnelle Antwort. Ich werde mich dann mal darum kümmern das 1und1 den Wer auf ON setzt.
                ich denke nicht, dass die das machen werden. also bleibt der nur der manuelle weg, der im übrigen auch besser ist.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Und die Bearbeitung der Skripte wird performanter, da PHP sich die Zeit für das Parsen des HTMLs sparen kann. Allerdings dürfte das mit einem guten Caching weniger relevant sein.

                  Wenn der Kunde es nicht bezahlt, dann gibt's halt Sessions von der Stange und keinen "Wo geht denn nun schon wieder die SID verloren"-Stress.

                  Happiness is an empty error log

                  Kommentar


                  • #10
                    Original geschrieben von SOB22
                    Danke für deine schnelle Antwort. Ich werde mich dann mal darum kümmern das 1und1 den Wer auf ON setzt.

                    Aber schon dumm das die einen nicht informieren, wenn die einfach so eine neue PHP Version draufmachen !

                    Gruß Tim
                    schon doof wenn man deren Newsletter nicht ließt. Es wurde vor einiger Zeit (1-2 Monaten) schon bekannt gegeben das die Stück für Stück die php version updaten.

                    Es wurde auch mitgeteilt was sich im Vergleich zur alten Version ändert.

                    wobei ich glaube das die eventl. das wieder auf on setzen werden.

                    Jetzt funktioniert es sobald der browser cookies akzeptiert, tut er es nicht, sollte ja die SID per $_GET übertragen werden, passiert aber nicht
                    auch nur bei relativen pfaden.
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      das muss ich im newsletter echt übersehen haben, mein fehler.

                      mal ne andere frage, wenn mein browser cookies unterstützt und ich das hier am anfang meines codes stehen habe:
                      PHP-Code:
                      session_start();
                      echo 
                      $_COOKIE["PHPSESSID"]; 
                      müsste ich dann nicht eine ausgabe bekommen ?!

                      Kommentar


                      • #12
                        Original geschrieben von SOB22
                        müsste ich dann nicht eine ausgabe bekommen ?!
                        bekommst du eine?

                        warum kannst du sowas nicht erst testen, bevor du fragt. keine selbstständigkeit mehr heutzutage .....
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          ich habe getestet.
                          ich bekommen leider keine ausgabe, deshalb meine frage.

                          war wohl etwas unglücklich formuliert.

                          Kommentar


                          • #14
                            ok, wenn du getestet hast. hast du auch mal F5 gedrückt. ein cookie kann nämlich erst auf der nächsten seite ausgelesen werden, nachdem es gesetzt wurde.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              ja habe ich gemacht, ich bekomme mit
                              PHP-Code:
                              print_r($_COOKIE); 
                              immer die ausgabe
                              PHP-Code:
                              Array ( ) 

                              Kommentar

                              Lädt...
                              X