J'ai ce code qui s'est installé lorsque la vérification de connexion est correcte:
if((isset($_POST["remember_me"]))&&($_POST["remember_me"]==1))
{
setcookie('email', $username, time()+3600);
setcookie('pass', $pass, time()+3600);
}
Maintenant, quand je clique sur le lien de déconnexion (logout.php) , J’ai fait ceci:
<?php session_start();
setcookie("email", '', 1, "");
setcookie("pass", '', 1, "");
$_SESSION["login"] = "";
header("location: aforum/enter_furom.php");
?>
Je n'ai pas utilisé la session de destruction parce que je ne veux pas détruire toutes les sessions ... Maintenant, détruire une session fonctionne bien ... mais lorsque j'essaie de supprimer les cookies, les navigateurs (tous les navigateurs: Explorer, chrome, firefox, mozilla) me donnent une erreur en disant que les nouveaux cookies ne peuvent pas être configurés ... aucune aide pour supprimer les cookies ci-dessus?
soit utiliser la variable superglobal _COOKIE
:
unset($_COOKIE['mycookiename']);
ou appelez setcookie()
avec seulement le nom du cookie
setcookie('mycookiename');
Pour réinitialiser vos cookies à la déconnexion, utilisez:
setcookie('pass');
setcookie('email');
Pour vous connecter, vérifiez:
if(
isset($_POST["remember_me"]) &&
$_POST["remember_me"]==1 &&
$_COOKIE['pass'] != NULL &&
$_COOKIE['email'] != NULL &&
)
setcookie('cookiename', '', time()-3600);
Vérifiez dans votre navigateur le répertoire dans lequel le cookie est utilisé. Et désactivez-le en spécifiant le chemin du cookie. Comme dans l'exemple si le répertoire de cookie est /aforum/
setcookie ("email","",time()-1,"/aforum/","http:// yourdomain.com");
Dans Chrome et IE8 + au moins, les éléments suivants vont supprimer le cookie du navigateur. Toutefois, il ne sera reflété dans le tableau $_COOKIE
que lorsque la page sera rechargée.
setcookie('cookiename','',0,'/',$cookieDomain)
vous pourrez peut-être laisser quelques paramètres ici, mais l'important est de définir une chaîne vide, ce qui supprime le cookie du navigateur.
Pour supprimer les cookies en PHP, définissez simplement leur heure d'expiration sur une heure antérieure. Par exemple:
$expire = time() - 300;
setcookie("email", '', $expire);
setcookie("pass", '', $expire);
Vous devez définir votre heure d'expiration au passé, par exemple.
setcookie('email', '', time()-3600);
De plus, vous devriez utiliser un Absolute URI
pour votre header('Location:' ....)
.
essaye ça
setcookie ("email", "", time() - 3600);
setcookie ("pass", "", time() - 3600);