[Funktion] Lifetime der vom Session Modul erstellten Cookies modifiezieren?

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

  • [Funktion] Lifetime der vom Session Modul erstellten Cookies modifiezieren?

    Ich hätte gerne für ein Loginskript einstellen kann ob mein eingeloggt bleiben will oder nicht. Das zweite Funktioniert ja mit dem php Session Modul schon so wies soll allerdings bekomme ich es nicht hin die Cookie lifetime zu erhöhen, ich hab schon die Forensuche genutzt aber es hat nichts genutzt ich poste mal meinen Codeschnipsel.:
    PHP-Code:
    if($_POST['use_cookie']=="use_cookie"){
            
    ini_set("session.cookie_lifetime"time()+3600);
        }else{
            
    ini_set("session.cookie_lifetime"0);
             
    // Starten der Session
        
    ini_set("session.use_cookies"1);
        
    session_name("sid");
        
    session_start();
             .....
             
    // Wenn derjenige dann eingeloggt werden konnte:
             
    header('LOCATION: index.php');
        } 
    In jeder Seite, die dann geschützt werden soll wird folgender Codeschnipsel eingebaut:
    PHP-Code:
    // Starten der Session
    ini_set("session.use_cookies"1);
    ini_set("session.cookie_lifetime"time()+3600);
    session_name("sid");
    session_start();

    if(!isset(
    $_SESSION['logged_in'])){
        if(!
    $_SESSION['logged_in']=="eingelogt"){
            
    header("LOCATION: ".$conf['home_path_ext']."admin/login.php?error=not_logged_in");
        }

    Aber die Cokies werden immer geschlossen, wenn man das Browserfenstet schließt hat jemand ne Idee woran das liegen könnte?
    daniel-portal.com/games Free Games and more

  • #2
    Aber die Cokies werden immer geschlossen, wenn man das Browserfenstet schließt hat jemand ne Idee woran das liegen könnte?
    Ja, Laut dem Manual ist das so im Sinne des Erfinders. Sonst wären es auch keine Session-Cookies mehr, sondern gewöhnliche Cookies.

    Kommentar


    • #3
      So weit ich mich erinnere ist session.use_cookies per default immer auf 1 gesetzt. Kannst also die Zeile vermutlich weg lassen.

      Aber zum eigentlichen Problem. Schau dir doch mal das gesetzte cookie an, nachdem du das Skript aufgerufen hast (Bei firefox unter tools->options->privacy->cookies->view cookies). Was hat das Skript denn da für ein Verfallsdatum eingetragen?

      Kommentar


      • #4
        So weit ich mich erinnere ist session.use_cookies per default immer auf 1 gesetzt.
        was ja nicht heißt, dass es bei ihm auch so ist

        SESSION-Cookie != Normales Cookie

        Kommentar


        • #5
          Mir ist da gerade was aufgegangen
          Wenn du time()+3600 nutzt wird das etwas lang. Es würde reichen, wenn du 3600 als Argument übergibst, denn das cookie soll ja nur 1 Stunde und nicht time()/3600+1 Stunden halten. Den Offset setzt die Session selber.

          Habs gerade mal bei mir ausprobiert.
          PHP-Code:
          ini_set("session.cookie_lifetime"3600);
          session_start(); 
          Da bleibt das cookie auch erhalten, wenn ich den browser schließe.,
          Zuletzt geändert von random; 23.10.2004, 21:37.

          Kommentar

          Lädt...
          X