Supprimer cookie et session php

  • Auteur de la discussion Auteur de la discussion sff
  • Date de début Date de début
WRInaute impliqué
Bonjours, je ne comprend pas pourquoi, mais je n'arrive pas à éffacer des cookies et sessions php. Pourtant mon code semble correct.

function logout() {

session_destroy();

//Destruction du cookie de connection forum/jeu
setcookie("game");

header("Location: login.php?do=login");
die();

}

Lorsque je clique sur quitter je viens à l'accueil (/game/login.php?do=logout)

Mais si je tape de nouveau /game/ et je reloger, meme en réactualisant, et j'ai remarqué que quand je quitte, dans firefox, j'ai toujours le cookie game et la session ouverte.

Avez vous une idée de ce qu'il faut faire?

Merci
 
WRInaute passionné
Tentes avec la variable superglobal $_SESSION
Code:
unset($_SESSION["game"]);
session_destroy();
header("Location: login.php?do=login"); 
exit();
 
WRInaute impliqué
Pour quoi $_SESSION["game"] ? C'est le cookie qui porte le nom game pas la session. Non?

Mais ceci ne fonctionne pas:

function logout() {

unset($_SESSION["game"]);
session_destroy();


//Destruction du cookie de connection forum/jeu

setcookie("game");

header("Location: index.php");
die();

}

Faut fermer le navigateur pour que la session se ferme.

C'est bizard chez free ca marche parfaitement le code que j'avais supprimait bien la session et le cookie avec la fonction logout, mais sur OVH ca ne fait rien.
 
WRInaute accro
OVH ou free c'est du pareil au meme.

Code:
function logout() { 
if(isset($_SESSION['game'])) unset($_SESSION['game']);
if(isset($_SESSION['exemple'])) unset($_SESSION['exemple']);
header("Location: login.php?do=login");
exit();
}

session_start();
logout();
 
WRInaute accro
j'ai regarder, je ferais comme ceci:

ta deco se fait par ce lien:
-http://rpgillusion.forum-tortueland.com/game/login.php?do=logout

dans ton fichier login.php ajoute ce code tout en haut

Code:
session_start();

if(isset($_GET['do']) && $_GET['do'] == 'logout') {
if(isset($_SESSION['game'])) {
unset($_SESSION['game']);
header("Location: index.php");
exit;
}}
 
WRInaute impliqué
Oui ca fonctionne, mais c'est impossible a faire uniquement via la fonction logout?

Normalement le header devrait renvoyer sur ?do=login , la ca reste sur logout
 
WRInaute accro
j'ai regardé, la déco se fait et je termine sur cette url avec FoFox
-http://rpgillusion.forum-tortueland.com/game/login.php?do=login

je n'ai pas de logout dans l'url, peut-etre as tu changé quelque chose entre temps...
 
WRInaute impliqué
Non j'ai rajouté ta ligne en entete, mais comme le header fait ensuite appel a index.php, comme est plus logé on est redirigé sur ?do=login

Code de index.php

if ($userrow == null) {
if (isset($_GET["do"])) {
if ($_GET["do"] == "verify") { header("Location: users.php?do=verify"); die(); }
if ($_GET["do"] == "flash") { flash(); die(); }
}
header("Location: login.php?do=login"); die();
}

Donc pourquoi dans la fonction logout le header ne redige pas vers ?do=login, ca reste sur ?do=logout?

(si on met pas ton code en entete)
 
WRInaute accro
fait la redirection directement au moment de la déco

Code:
session_start();

if(isset($_GET['do']) && $_GET['do'] == 'logout') {
if(isset($_SESSION['game'])) {
unset($_SESSION['game']);
header("Location: login.php?do=login");
exit;
}}
 
Discussions similaires
Haut