Glaube mein Server will mich mit meinen Sessions ärgern

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

  • Glaube mein Server will mich mit meinen Sessions ärgern

    Wieder mal ein Problem mit Sessions...

    Der Server gibt mir Sessiondaten mal aus, und mal nicht...

    Die SessionID bekomme ich immer, aber die selbst angelegten Daten mal und mal nicht.

    Beschreibung:
    Ich habe eine Startseite, auf der die Cookies ausgelesen werden und die Session erzeugt wird:
    Code:
    <?php
    session_name("SID");
    session_start();
    session_register("s_sessionstate");
    $s_sessionstate = "disable";
    
    echo "SessionID: $SID <br>";
    echo "SessionState: $s_sessionstate";
    //echo "<html>
    <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" 
    topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
    <script language=\"JavaScript\">self.location='./index2.php';</script>
    </body></html>"
    ?>
    Lese ich die s_sessionstate gleich noch auf dieser Seite aus, wird sie mir auch ausgegeben.

    Lasse ich allerdings ein Frameset aufbauen (der link ist auskommentiert = index2.php), bekomme ich nur noch die SessionID, und keine s_sessionstate...

    Hier kurz meine Aufrufe auf den anderen Seiten:
    Code:
    session_id: <?php echo $SID; ?><br>(GEHT!!)
    Sessionstate: <?php echo $s_sessionstate; ?><br>(GEHT NICHT!!)
    Kann mir das vielleicht einer erklären ??
    Ich suche schon die ganze Zeit, aber in Tutorials wird sowas nicht beschrieben...

    Wäre seeeehr dankbar

    Thx

    MoRtALAn

    Sorry, die Zeilenlänge bitte bißchen beachten!

    [Editiert von BrainBug am 08-01-2002 um 08:54]

  • #2
    Ich glaube du mußt zuerst der Variable einen WErt zu weisen und sie dann registrieren.

    Kommentar


    • #3
      daran liegts auch nicht:-((

      auf der ersten Seite kann ich die Sachen ja abfragen, nur im Frameset gehts halt leider nicht...

      Ich habe aber mal abgefragt, ob die Variable registriert ist, und das ist sie, er ließt sie nur nicht aus, bzw zeigt sie an!

      Kommentar


      • #4
        Klar ist sie registriert..
        Wenn du eine Variable registrierst die noch gar nicht existiert so legt PhP diese Variable an.
        Ist dann nur leer (oder Null ?)
        Und wenn du sie dann ausliest dann erscheint nichts.

        Passiert mir häufiger wenn ich mich bei Variablennamen vertippe.

        Kommentar


        • #5
          Jetzt blick ich gar nicht mehr durch!

          Ich hab die Sessionerstellung auf der Eingangsseite mal rausgenommen und erstelle sie jetzt im Frameset.

          Er legt mir die datei mit der aktuellen Session an, in der auch alles drinne steht. Dann legt er eine 2. an, nichts reinschreibt, d.h. meine angezeigt SessionID ist eine andere Datei, als die Datei, aus der er die Daten ließt??!!

          Kopiere ich die nämlich die daten aus der datei mit meiner SessionID in die 2., bekomme ich alle werte angezeigt!

          Das kann es doch irgendwie nicht sein, oder??

          Kommentar


          • #6
            Hab jetzt den Fehler???

            also:
            In der Datei, die mir das Frameset erstellt, erzeuge ich die Session.

            In der Datei, in der ich die Session auslesen will, hab ich ebenfalls ein Session_start() gesetzt, diese reinitialisiert mir jedoch nicht meine alte Session (aus der Framesetdatei), sondern erstellt mir eine neue.

            Ist das so richtig ??

            P.S.

            Dafür hab ich jetzt das Problem, daß ich die SessionID zwar in ein anderes Frame bekomme, aber meine ganzen Sessionvariablen undefiniert sind ;-(((

            [Editiert von MoRtAlan am 07-01-2002 um 14:10]

            Kommentar


            • #7
              Wenn du die SessionID manuell übergibts mit ziel.php?PHPSESSID=gd22j34f342asjgdfg423423jnfgsd45234 sollte er eigentlich genau die Session weiterführen.
              Das automatische funktioniert nicht immer..vor allem nicht beim reload..und dem zurück button des browsers.
              Der Name 'PHPSESSID' ist in der php.ini konfigurierbar..

              Kommentar


              • #8
                wenn die PHPSESSID als Cookie übergeben wird und du diesen nicht ablehnst, dann sollte die Session auch immer eindeutig sein. Und du kannst so oft session_start() benutzen, wie du willst, da diese Funktion nur eine neue Session initialisiert, wenn noch keine vorhandene gefunden wird.
                Also bei mir klappt genau diese Vorgehensweise gut. Muß wohl an deinen PHP-Einstellungen liegen, wenn da was nicht klappt. Ist session_save_handler auf "File" gesetzt?

                Kommentar


                • #9
                  Jepp ist auf "File" gesetzt

                  Kommentar


                  • #10
                    Und die Dateien werden auch korrekt (mit richtigem Namen..das sollte die SessionID) erzeugt ?

                    Kommentar


                    • #11
                      wenn du dir immer die SessionID ausgeben läßt -> bleibt die denn gleich? Oder bekommst du zwei verschiedene?

                      Und wenn nur eine -> wie schon KinNeko fragt: wird der File auch geschrieben?

                      Und zu dem Zeitpunkt, wo eigentlich was geschrieben sein muß (also Daten über session_register) und du aber nix angezeigt bekommst -> stehen da die Daten aber schon im File oder nicht?
                      Falls die Daten da schon drin stehen, aber dein Skript es nicht anzeigt, ist es vielleicht wirklich sowas wie ein Cacheproblem.

                      Aber überprüf erstmal die obigen Sachen...

                      Kommentar


                      • #12
                        Jepp, die SessionID blieb immer gleich, war aber die falsche (da er mir ja immer eine 2. angelegt hat)

                        File wurde auch geschrieben.

                        Aber ich hab den Fehler gefunden! (man man man...)

                        Session_id() sollte mann doch auch setzen, oder ?? (hab ich nämlich vergessen)

                        Werd ich jetzt vom Board verbannt ???

                        Thx

                        MoRtALAn

                        Kommentar


                        • #13
                          Ouhhh!

                          Brennen sollst du!!! Und wir gleich mit dir, da wir nicht darauf gekommen sind

                          Kommentar


                          • #14
                            Dann bin ich ja doch glücklich, das mich keiner verbannen will

                            *puhhhh!

                            Kommentar


                            • #15
                              Also ich setze keine Session_id()
                              Ist das wichtig ? Funktioniert doch auch so..bei mir jedenfalls..die SessionID wird dann automatisch erzeugt.

                              Kommentar

                              Lädt...
                              X