HansWurst: Problem mit Sessino-Verwaltung

Morschn!

Hab versucht, das Beispiel mit dem Login-System aus dem Tipps&Tricks-Bereich (http://www.selfphp.info/tipps_tricks/dateisystem/ffbl_system.php) umzusetzten, aber es gibt bei mir immer Probleme - besser gesagt es funktioniert nicht.

Hab mal selber bisschen rumgespiel und hab festegestellt, das die erste Seite nach dem Login funktioniert, aber die "Weiterleitung" mit SID geht nicht. Laut http://de3.php.net/manual/de/ref.session.php#session.idpassing ist bei meinem PHP4.3.10 diese Option aber aktiviert.

Was mache ich falsch?

  1. hi,

    Was mache ich falsch?

    du berücksichtigst </faq/#Q-07b> und </faq/#Q-07c> nicht mal ansatzweise.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Gut, pass auf - ziemlich simpel.

      Ich verwende das Beispiel aus Tipps&Tricks, lade es runter und teste es bei mir und es erscheint immer die Meldung "Du bist nicht eingeloggt!", obwohl ich nix geändert habe und es ja auch online funktioniert.

      Deshalb hab ich hlat selbst ein bisschen herumgetüftelt. Wenn ich nach dem Login folgende "Weiterleitung" (Zeile 49) header('location: ffbl_beispiel_sichere_seite.php?' . SID); heraus nehme und die $_SERVER['uid'] auf Vorhandensein teste, ist sie vorhanden. Nach der Weiterleitung aber nicht mehr.

      Das ganze ist bloß von daher mysteriös, weil laut dem PHP-Handbuch ab der Version 4.2 das sogar "automatisch" mitgesenden wird und ich ja 4.3.10 verwende.

      Wenn ich für das ganze Unternehmen einen Cookie speichere funzt es auch - aber Cookies sind ja nicht überall verfügbar/empfehlenswert.

      1. hi,

        Wenn ich nach dem Login folgende "Weiterleitung" (Zeile 49) header('location: ffbl_beispiel_sichere_seite.php?' . SID); heraus nehme und die $_SERVER['uid'] auf Vorhandensein teste, ist sie vorhanden.

        was bitte ist $_SERVER['uid']?
        meinst du $_SESSION['uid']?

        Nach der Weiterleitung aber nicht mehr.

        dann wird vermutlich die session-ID nicht korrekt übergeben.
        dass die konstante SID nur gefüllt ist, wenn die übergabe per cookie sich als erfolglos herausgestellt hat, ist dir bekannt?

        Das ganze ist bloß von daher mysteriös, weil laut dem PHP-Handbuch ab der Version 4.2 das sogar "automatisch" mitgesenden wird und ich ja 4.3.10 verwende.

        automatisch - mit den standardeinstellungen. die betreffenden optionen könnten ja aber u.U. bei dir anders eingestellt sein.
        phpinfo() gibt auskunft darüber, wie die session-einstellungen lauten.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. dass die konstante SID nur gefüllt ist, wenn die übergabe per cookie sich als erfolglos herausgestellt hat, ist dir bekannt?

          Das heißt ja für mich ich zwangsläufig beide Methoden einbauen. Sprich Cookie und SID.

          automatisch - mit den standardeinstellungen. die betreffenden optionen könnten ja aber u.U. bei dir anders eingestellt sein.
          phpinfo() gibt auskunft darüber, wie die session-einstellungen lauten.

          Laut phpinfo() ist es aktiviert.

          1. hi,

            dass die konstante SID nur gefüllt ist, wenn die übergabe per cookie sich als erfolglos herausgestellt hat, ist dir bekannt?

            Das heißt ja für mich ich zwangsläufig beide Methoden einbauen. Sprich Cookie und SID.

            macht PHP eigentlich defaultmäßig von ganz alleine - bei relativen links, formularen etc. wird die SID automatisch eingefügt, wenn sich herausgestellt haben sollte, dass die übergabe per cookie nicht funktioniert.

            nur bei solchen sonderfällen wie einer weiterleitung per header() musst du die SID manuell anhängen.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. macht PHP eigentlich defaultmäßig von ganz alleine - bei relativen links, formularen etc. wird die SID automatisch eingefügt, wenn sich herausgestellt haben sollte, dass die übergabe per cookie nicht funktioniert.

              Wieso geht es dann nicht, wenn ich auf eine andere Seite verlinke und dort die Variable $_SESSION['irgendwas'] abfrage? Da ist sie auf einmal nicht mehr vorhanden!

              1. hi,

                Wieso geht es dann nicht, wenn ich auf eine andere Seite verlinke und dort die Variable $_SESSION['irgendwas'] abfrage? Da ist sie auf einmal nicht mehr vorhanden!

                an hand dieser äußerst knappen "problembeschreibung" kann man nur vermuten, dass die SID nicht korrekt übergeben wurde, oder du die session nicht wieder aufgenommen hast.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. an hand dieser äußerst knappen "problembeschreibung" kann man nur vermuten, dass die SID nicht korrekt übergeben wurde, oder du die session nicht wieder aufgenommen hast.

                  Wie, Session wieder aufnehmen? Davon hab ich bis jetzt noch nix gelesen. Die Beschreibungen die ich gesehan haben, sind alle davon ausgegangen, dass die Variablen vorhanden sind (kann auch sein ich habs bloß falsch verstanden).
                  Deine Beschreibung zwecks "SID nicht korrekt übergeben" ist aber auch nicht gerade ausführlich.
                  <a href="blabla.php?<?PHP echo SID; ?>">blabla</a>
                  Ist das falsch übergeben? So mach ich es.

                  1. PS: Das löst aber immer noch nicht, dass ganze Problem. Das heruntergelade Beispiel von SELFPHP geht ja bei mir auch net. Das müsste doch aber heißen, dass das nicht bei mir unterstützt wird, weil dort ja alles regelkonform gemacht ist. phpinfo() sagt aber...
                    Session Support   enabled
                    Registered save handlers  files user
                    ...was meinem Verständnis nach heißt, dass es gehen sollte.

            2. macht PHP eigentlich defaultmäßig von ganz alleine - bei relativen links, formularen etc. wird die SID automatisch eingefügt, wenn sich herausgestellt haben sollte, dass die übergabe per cookie nicht funktioniert.

              Wieso geht es dann nicht, wenn ich auf eine andere Seite verlinke und dort die Variable $_SESSION['irgendwas'] abfrage? Da ist sie auf einmal nicht mehr vorhanden!

  2. Hi!

    Hab versucht, das Beispiel mit dem Login-System aus dem Tipps&Tricks-Bereich (http://www.selfphp.info/tipps_tricks/dateisystem/ffbl_system.php) umzusetzten, aber es gibt bei mir immer Probleme - besser gesagt es funktioniert nicht.

    Neben dem, was dir bereits wahsaga gesagt hat, solltest du beachten, dass bei einem Redirect mittels header('Location:...') auf „Location” eine absolute URL folgen muss. Siehe auch: http://de.php.net/header

    Grüße,
    Fabian St.

    --
    ---------------------
    fabi@erde ~# whatis spam
    spam: nothing appropriate
    ---------------------
    Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)