buongiorno..
ho un problemino con i cookie che spero mi possiate aiutare a risolvere.
voglio realizzare la funzione "resta connesso";
quindi nel form di login ho inserito anche un checkbox che quando barrato fa si che venga creato un cookie in cui memorizzo username e password(criptata) dell'utente
questo è il form:
Codice HTML:
<form action='mioSito' method='post' >
<input type='text' name='username' value='username' />
<input type='password' name='password' value='password' />
<input type='checkbox' name='rememberMe' value='ok' />
<input type='submit' name='submit' value='Login!' />
</form>
questa è la funzione che genera il cookie:
Codice PHP:
$scadenza = time() + 604800;
$dominio = ".stepone.altervista.org";
setcookie("nick", $nome, $scadenza, "./", $dominio, 0);
setcookie("sex", $sex, $scadenza, "./", $dominio, 0);
setcookie("pass", $lapassword, $scadenza, "./", $dominio, 0);
<!-- è criptata quindi nn dovrebbe essere troppo grave metterla in un cookie -->
e questo è il controllo che ho impostato nella pagina per riconoscere l'utente:
Codice PHP:
// prima per la sessione
if (isset($_SESSION['you'])) {
echo "benvenuto ".$_SESSION['you'];
}
else if (isset($_COOKIE['pass'])) {
// connetto al database e verifico corrispondenza tra cookie pass e cookie username, ed eventualmente assegno
// contenuto del cookie aalla sessione, quindi ricarico
$_session['you'] = $_cookie['nick'];
header(location...) // aggiorno la pagina
}
else {
// altrimenti faccio stampare i moduli di login
....
}
il problema è che quando non esiste la sessione, anche quando mi aspetto che entri nel secondo if, questo non accade.
dove ho sbagliato?
grazie in anticipo