cookies persistenti

ciao a tutti,

il mio problema è questo: nella mia pagina php dopo che l'utente si è loggato viene creato un cookie con il suo username e la sua password e una variabile session con il suo username per permettere alle aree protette durante la sessione.

C'è anche un tasto per il logout che elimina questa variabile di sessione:

$_SESSION=array();

session_destroy();

 e cancella il cookie:

setcookie("nomevariabile","",time()-31536000);

per la sessione in corso tutto funziona bene, ma se chiudo il browser e rientro dopo aver verificato la variabile $_COOKIE("nomevariabile") la trovo presente e mi vede come loggato, nonostante avessi fatto prima il logout nella precedente sessione.

Perchè ha questo comportamento, qualche idea?

grazie

inviato 10 anni fa
fla
fla
1
X 0 X

Perché usi un cookie se stai usando le sessioni? Le sessioni di default fanno già uso di un cookie per riconoscere un utente!

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ho usato i cookie perchè vorrei che l'utente venisse riconosciuto anche entrando in una sessione successiva

risposto 10 anni fa
fla
fla
1
X 0 X

Riporta l'istruzione che usi per settare il cookie al momento del login.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ecco il codice:

dopo aver compilato la maschera di login faccio un post e le variabili passate sono $pass_user e $username (che imposta la variabile session)

if(IsSet($_SESSION[username])){

     $pass_user=md5(pw);

   $cok=$username."%%".$pass_user;

   setcookie("nomevariabile",$cok,time()+31536000);

}

risposto 10 anni fa
fla
fla
1
X 0 X

Tranne qualche imprecisione sembra tutto a posto. A questo punto mi chiedo se realmente venga chiamata la funzione setcookie per cancellare il cookie.  :dunno: puoi verificarlo?

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ho verificato, effettivamente viene eliminato il cookie con la funzione:

setcookie("nomevariabile","",time()-31536000);

ha un comportamento strano, perchè se chiudo il browser senza fare il logout, rientrando verifica il cookie e mi trovo correttamente loggato in automatico.

Ma se faccio il logout ed esco rientrando mi logga nuovamente in automatico e questo non lo capisco..

 :bye:

risposto 10 anni fa
fla
fla
1
X 0 X

O la sessione rimane attiva oppure il sistema per la verifica del login ha qualche problema  :dunno:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda