Cookie setzen für Autologin!

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

  • Cookie setzen für Autologin!

    Ich arbeite gerade an einer Session Management Klasse und verzweifle am autologin. Bei mir wird einfach kein Cookie gesetzt und ich versteh nicht warum!

    Auszug aus der Klasse:
    PHP-Code:
    define('SESSION_NAME',"FIN");
    define('SESSION_COOKIE_NAME',"TEST");
    define('SESSION_COOKIE_PATH',"/");
    define('SESSION_COOKIE_DOMAIN',"localhost");
    define('SESSION_COOKIE_TIMEOUT',2592000);
    ...
        function 
    set_auto_login($username=null$password=null) {
            
    $array = array($username,$password);
            
    $body implode('@@@',$array); //body existiert!
            
    if(setcookie(SESSION_COOKIE_NAME,$body,(mktime()+SESSION_COOKIE_TIMEOUT),SESSION_COOKIE_PATH,SESSION_COOKIE_DOMAIN))
                return 
    true;
        }

        
    // Überprüft ob der Autologin Cookie gesetzt wurde

        
    function is_set_auto_login() {
            if(!isset(
    $_COOKIE[SESSION_COOKIE_NAME]))
                return 
    false;
            
    $body $_COOKIE[SESSION_COOKIE_NAME];
            
    $body explode('@@@',$body);
            if(
    sizeof($body) != 2)
                return 
    false;
            return 
    $body;
        } 
    Das Session Cookie FIN wird einwandfrei gesetzt.
    Ich bekomm sogar vom Aufruf "$management->set_auto_login($username, $password);" true zurück. Wenn ich dann aber in den CookieManager von Netscape schau existiert nur des SessionCookie FIN. Was läuft schief?

    MfG Markus

  • #2
    Re: Cookie setzen für Autologin!

    warum verwendest du mktime() zur bestimmung des aktuellen timestamps, und nicht einfach time()?

    hast du schon mal überprüft, ob der wert für den verfallszeitpunkt "korrekt" ist?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      mktime() liefert 0 zurück + timestamp für 30 tage..
      da dieser timestamp ungefähr für den 30.01.1970 (oder ' 71) steht ist dieser lange in der vergangen heit!

      mktime() ändern in time()

      mfg

      Kommentar


      • #4
        thx!
        Ich hasse solche Fehler. Das kommt davon alles aus dem Kopf zu skripten ohne in die Doku zu schauen. MIST 2 Stunden für den Ar...

        DANKE

        MfG Markus

        Kommentar

        Lädt...
        X