Page 1 sur 1

Suppression d'un cookie

Posté : 24 sept. 2012, 02:09
par reno
Bonjour,

J'ai un site qui identifie les utilisateurs avec les sessions.
Je voudrais que lorsqu'un utilisateur s'authentifie, un cookie contenant son id (numéro unique identifiant l'utilisateur) soit créé. De cette manière, lorsque l'utilisateur ferme son navigateur puis revient sur le site, alors il est identifié automatiquement grâce au cookie.
J'ai mis en place cette fonctionnalité, cela marche bien sauf une chose : lorsque l'utilisateur clique sur "se déconnecter", je supprime alors son cookie. Si l'utilisateur ferme son navigateur puis revient sur le site, il ne devrait alors plus être identifié automatiquement. Or ce n'est pas le cas, apparemment la suppression des cookies ne fonctionne pas.

Voici le code de suppression du cookie dans la page "deconnexion.php" :
<?php
	header('Content-Type: text/html; charset=UTF-8');
	session_start();
	session_destroy();
	//suppression du cookie
	setcookie ("cookie_name");
	header('location: ../aaa.php');
	exit;
?>
Voici le code qui identifie un utilisateur si celui-ci a un cookie, dans la page "index.php" :
<?php
	if ( !empty($_COOKIE['cookie_name']) )
	{
		$_SESSION["userId_enCours"] = $_COOKIE['cookie_name']['userId_enCours'];
		header("Location:accueil.php");
		exit;
	}
?>

Re: Suppression d'un cookie

Posté : 24 sept. 2012, 03:25
par sam12
Il faut mettre une date d'expiration "périmée" (cf la doc: http://fr2.php.net/setcookie ) ;)

Re: Suppression d'un cookie

Posté : 24 sept. 2012, 03:35
par reno
Désolé mais j'ai déjà essayé beaucoup de syntaxes pour supprimer le cookie et aucune ne fonctionne.
Par exemple, un code de ce style ne fonctionne pas :
setcookie ("cookie_name", "", time() - 3600);

Re: Suppression d'un cookie

Posté : 24 sept. 2012, 10:52
par xTG
M'étonnes quand même... Dans le cas où ce serait un problème d'écart d'heure entre le client et le serveur (qui serait à l'étranger) :
setcookie ("cookie_name", "", 0);
Là plus de souci à moins de remonter 40ans en arrière. ;)