Ankündigung

Einklappen
Keine Ankündigung bisher.

Ich werd verrückt mit den Sessions

Einklappen

Neue Werbung 2019

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

  • Ich werd verrückt mit den Sessions

    Hallo, ich weiss nicht mehr weiter und ein passendes Posting habe ich auch noch nicht gefunden, also schreib ich hier mal mein Problem.
    Ich will mich einloggen mit folgendem Script:

    PHP-Code:
    <?php
    session_start
    ();
    error_reporting(E_ALL);    

    $PHPSESSID session_id();
    ?>
    <html>
    <head>
    <title>Login</title>
    <link rel='stylesheet' type='text/css' href='../standard.css'>
    </head>

    <body>
    </head>

    <body>
    <?php

    echo "<form id='login' action='nachlogin.php?SID=".$PHPSESSID."' method='post' target='anzeige'>";

    ?>

    KD-Nr.: <input id="login" type="text/css" name="user" size="10" maxlength="10" tabindex="1" title="Kundennummer">



    Passwort: <input id="login" type="password" name="passwort" size="10" maxlength="25" tabindex="2" title="Passwort"></p>



    <input id="ok" type="submit" name="ok" value="    OK    "  tabindex="3" title="absenden">
    <input id="cancel" type="reset" name="cancel" value="cancel" tabindex="4" title="abbrechen"></p>
    <p id="registrieren" align="center">[url="anmelden.htm"]registrieren[/url]</p>
    </form>
    </body>

    </html>
    Wenn ich mir nun die Session anzeigen lasse, ist die leer.
    Der IE ist so eingestellt, dass er die automatische Cookieverwaltung machet, und wenn ich nun den Browser einmal kurz so einstelle, dass er alle Cookies akzeptiert, und dann wieder auf automatische Cookieverwaltung, dann geht es so wie es sein soll. Ich weiss nicht mehr weiter. Danke mal für die Hilfe.

  • #2
    Wie sehen die Einstellung für session.use_cookies, session.use_only_cookies und session.use_trans_sid aus? ini_get() und phpinfo() helfen dir da weiter.

    Kommentar


    • #3
      session.use_cookies = On
      session.use_only_cookies = Off
      session.use_trans_sid = Off

      Aber was das alles zu sagen hat weiss ich nicht genau, ich kann es mir nur aus dem Namen in etwa herleiten.

      Kommentar


      • #4
        Was die Einstellungen genau bedeuten, kannst du hier nachlesen.
        Jetzt aber zurück zu deinem Problem: Da session.use_trans_sid deaktiviert ist, musst du die Sessionid manuell an den URL anhängen, damit Benutzer mit deaktivierten Cookies auch ihre Sessionid behalten. Du setzt dabei allerdings vorraus, dass der Name der Session SID ist, was aber nicht zwingend der Fall sein muss. Besser ist es, wenn du einfach die Konstante SID verwendest, die automatisch von PHP beim Aufruf von session_start() definiert wird und das Format session_name() = session_id() hat:

        PHP-Code:
        <?php
            printf
        ('[url="seite2.php?%s"]Seite 2[/url]'SID);

            
        //  bzw.:

            
        print '[url="seite2.php?' SID '"]Seite 2[/url]';
        ?>

        Kommentar


        • #5
          Ah ich habe immer gedacht, dass man das so machen soll wie ich das gemacht habe, allerdings hatte ich nie bedacht, dass SID eine Konstante von PHP ist
          Ja gut, soweit so klar. Danke erstmal ich werde es ausprobieren, und zur Not halt nochmal fragen.

          Kommentar


          • #6
            Eine Frage hätte ich noch, sehe ich das richtig, dass man dem User dann die SID die ganze Zeit hinterhertragen muss? d.h. ich muss jeder Seite, auch wenn eine einzelne Seite keine Session id braucht die SID übergeben? Denn sonst wäre sie ja fort, oder? Quasi ich muss hinter alle Links auf der HP noch die SID dranhängen.

            Kommentar


            • #7
              Ja, wenn du den User nicht zwingen möchtest, Cookies zu benutzen, bleibt dir da nichts anderes übrig.

              Kommentar

              Lädt...
              X