[RESOLU] Problème suppression session et cookie

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème suppression session et cookie

Re: Problème suppression session et cookie

par vincent.c » 02 nov. 2016, 15:54

Essaye de supprimé à la main tous les cookies, dans google chrome (sélectionne les puis touche retour arrière).

Recommence la connexion, vérifie que tu à bien un unique cookie "id_personne" et non deux comme sur ton screenshot.

Vérifie dans chrome que le "path" de ton cookie est bien "/" (dans le tableaux des cookies tu as une colonne path).

EDIT: Résolu OK ;)

Re: Problème suppression session et cookie

par kevin254kl » 02 nov. 2016, 15:17

c'est bon cela fonctionne,

Code : Tout sélectionner

<?php session_start(); session_destroy(); unset($_COOKIE["id_personne"]); setcookie("id_personne","",time()-1); header('Location: ../index.php'); ?>
Je pense que le problème venait que j'essayer de le faire en jquery par ajax.

Re: Problème suppression session et cookie

par vincent.c » 02 nov. 2016, 14:45

Pour vérifier tes cookies sur Chrome :
  • - clic droit sur ta page
    - puis inspecter l'élément
    - sélectionne l'onglet application (À droite de "elements", "console", "sources" ...)
    - dans le menu à gauche, déroule les cookies
    - sélectionne l'adresse de ton site
En ce qui concerne la redirection, si tu souhaite rediriger après déconnexion vers la page de connexion alors utilise :
<?php
session_start();
session_destroy();
setcookie("id_personne", "", 1);

header('Location: ../Connexion/Connexion.php');
?>

Re: Problème suppression session et cookie

par kevin254kl » 02 nov. 2016, 13:25

Merci de ta réponse , ma session est bien initialisé et me renvoi 1, le script de redirection fonctionne mais le cookie n'ai pas supprimé car je suis redirigé vers ma page d'accueil et non la page de login.

Re: Problème suppression session et cookie

par vincent.c » 02 nov. 2016, 11:19

Bonjour,

Dans ta page logout, tu devrais mettre ton include après l'ouverture de ta session. De plus, pour savoir si ta session est bien démarrer, tu peux vérifier sa valeur de retour.

http://php.net/manual/fr/function.session-start.php
<?php
session_start();
session_destroy();
setcookie("id_personne", "", time() - 3600);

include('../Connexion/Connexion.php');
echo "<script>window.location='../index.php'</script>";
?>
Bonne continuation.

Re: Problème suppression session et cookie

par kevin254kl » 02 nov. 2016, 09:33

Merci cela ne fonctionne pas je pense j'ai un problème dans la gestion des session ou cookie,

Ma page de connexion ou index

Code : Tout sélectionner

<?php session_start(); include('Connexion/connexion.php'); $_SESSION['ID_PERSONNE'] = ""; $_SESSION['ERREUR'] = ""; if (!empty($_COOKIE['id_personne'])) { // Test si les champs sont plein $id_personne = $_COOKIE['id_personne']; setcookie('id_personne', $id_personne, time() + 365*24*3600); $_SESSION['id_personne'] = $id_personne; header('Location: accueil.php'); // redirige vers l'accueil } if ((!empty($_POST['login']) && !empty($_POST['mdp']))) { // Test si les champs sont plein $login = $_POST['login']; // Remplace les simple quote par des double quote pour éviter les problemes d'injection sql $mdp = sha1($_POST['mdp']); // Vérification des identifiants $req = $bdd->prepare('SELECT id_personne FROM personne WHERE login = :login AND mdp_personne = :mdp'); $req->execute(array( 'login' => $login, 'mdp' => $mdp)); $resultat = $req->fetch(PDO::FETCH_ASSOC); if (!$resultat) { $_SESSION['ERREUR'] = "Login et/ou mot de passe incorrect"; // Message d'erreur } else { setcookie('id_personne', $resultat['id_personne'], time() + 365*24*3600); $_SESSION['id_personne'] = $resultat['id_personne']; header('Location: accueil.php'); // redirige vers l'accueil } } ?>
ma page d'accueil ou je gère l'inventaire avec un tableau

Code : Tout sélectionner

<?php session_start(); include_once("Connexion/Connexion.php"); if(!isset($_SESSION['id_personne']) || empty($_SESSION['id_personne'])) { header('Location: index.php'); } $req = $bdd->prepare('SELECT role FROM personne WHERE id_personne = :id_personne'); $req->execute(array( 'id_personne' => $_SESSION['id_personne'])); $resultat = $req->fetch(); $role = $resultat['role']; ?> <!DOCTYPE html> <html lang="fr"> <head> <title>Inventaire</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" > <link rel="stylesheet" href="css/general.css" > <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> </head> <script src="js/jquery.min.js"></script> <script src="js/jquery.validate.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <script src="js/tableau.js"></script> <script src="js/search.js"></script> <script src="js/add_user.js"></script> <script src="js/add.js"></script> <script src="js/logout.js"></script> <body> <!-- header --> <div id="error"> </div> <header class="header row"> <img src="img/header.png" class="col-md-11 " height="100"> <img src="img/logout.png" id="logout" style="cursor:pointer;" class="col-md-1" height="50"> </header> <div class="body "> <?php if($role == 'admin') { ?> <section class="container col-md-2 col-md-offset-1"> <h1 data-toggle="modal" data-target="#ajout">Ajout</h1></button> <?php include('formulaire/add.html'); ?> </section> <?php } ?> <section class="container col-md-2 col-md-offset-2"> <h1 data-toggle="modal" data-target="#inscription">Inscription</h1> <?php include('formulaire/add_user.html'); ?> </section> <section class="container col-md-2 col-md-offset-2"> <h1>Contitech</h1> </section> </div> <section class=" row col-md-12 col-md-offset-5 search"> <?php include('formulaire/search.php'); ?> </section> <aside class=" row col-md-12" style="margin-top:20 px;"> <?php include('Controller/tableau.php'); ?> </aside> <br /> </body> </html>
ma page de déconnexion qui est bien appelé :

Code : Tout sélectionner

<?php include('../Connexion/Connexion.php'); session_start(); session_destroy(); setcookie("id_personne", "", time() - 3600); echo "<script>window.location='../index.php'</script>"; ?>

Re: Problème suppression session et cookie

par moogli » 28 oct. 2016, 23:00

salut,

les cookies sont modifiés au chargement de la page.
rafraîchie la page tu ne devrait plus les voir.

ajout un window.location.href pour retourner sur l'index lorsque la déconnexion c'et bien passée.


@+

Problème suppression session et cookie

par kevin254kl » 28 oct. 2016, 16:16

Bonjour à tous, pourriez vous m'aider?

je fais une méthode logout, seul problème elle ne fonctionne pas.

Code : Tout sélectionner

$(document).ready(function(){ $('#logout').click(function () { $.ajax({ url : 'Controller/logout.php', type : 'GET', // Le type de la requête HTTP, ici devenu POST dataType : 'html', success : function(code_html, statut){ // code_html contient le HTML renvoyé } }); }); });
ma fonction jquery est bien appellé.

ma fonction logout:

Code : Tout sélectionner

<?php include('../Connexion/Connexion.php'); session_start(); session_destroy(); setcookie("login", "", time() - 3600); setcookie("mdp", "", time() - 3600); setcookie("id_personne", "", time() - 3600); ?>
quand je regarde dans l'inspecteur de google les cookies sont toujours présent.
http://s10.postimg.org/ayt4opzzt/cookie.png
pourtant je respecte les noms, je suis sous wamp.