Salve, come da titolo non riesco a cancellare un cookie.
Ho il mio bel login, se uno spunta su "ricordami" ne viene creato uno... che al logout dovrebbe essere distrutto.
CODICE DI CREAZIONE COOKIE:
CODICE DI LOGIN CON COOKIE:Codice PHP:// se l'utente ha spuntato l'opzione "ricordami", creazione di un cookie che gli permettera' di accedere automaticamente la prossima volta
if (isset($_POST['signin_remember']))
setcookie("user_info", $id."&&&".$email."&&&".sha1($password), time()+2592000);
CODICE DI LOGOUT:Codice PHP:// in caso di presenza di un cookie controllo sulla validita' delle informazioni contenute in esso
if (isset($_COOKIE['user_info']))
{
$cookie = $_COOKIE['user_info'];
$cookie_array = explode('&&&', $cookie);
$id = $cookie_array[0];
$email = $cookie_array[1];
$password = $cookie_array[2];
// se le informazioni sono corrette esecuzione del login
$query = $data -> query("SELECT * FROM user_info WHERE email='".$email."' AND password='".sha1($password)."'");
if (mysql_num_rows($query)==1)
{
$_SESSION['login'] = $id;
//header('location: editprofile.php?id='.$id);
}
else
{
setcookie("user_info", "", time()-1);
echo "ok";
}
}
Ho provato a inserire dei dati sbagliati nel cookie in modo che venisse stampato l' "ok" che potete vedere nel codice di login con cookie... l'ok viene stampato solo una volta, il che fa capire che il cookie viene distrutto!Codice PHP:session_start();
setcookie("user_info", "", time()-1);
session_destroy();
header('location: ../../index.php');
Il problema quindi è che il cookie viene distrutto nel caso di dati sbagliati nel cookie ma non quando effettuo il logout! Come mai?

Rispondi quotando