Création de COOKIE
Résolu/Fermé
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
-
29 juil. 2014 à 09:23
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 10 sept. 2014 à 20:56
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 10 sept. 2014 à 20:56
A voir également:
- Création de COOKIE
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création site web - Guide
- Création groupe whatsapp - Guide
33 réponses
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
30 juil. 2014 à 08:05
30 juil. 2014 à 08:05
Bonjour,
Un peu d'aide s'ils vous plait, je suis vraiment perdu.
Merci beaucoup
Voilà ce que j'ai fait dans ma page index.php avant le "DOCTYPE"
et dans ma page de vérification tout de suite après avoir déclaré les variables de SESSION
Merci
Un peu d'aide s'ils vous plait, je suis vraiment perdu.
Merci beaucoup
Voilà ce que j'ai fait dans ma page index.php avant le "DOCTYPE"
if(isset($_COOKIE['COOKIE_MONSITE']) && !isset($_SESSION['login'])){ $COOKIE_MONSITE = $_COOKIE['COOKIE_MONSITE']; $COOKIE_MONSITE = explode('-----', $COOKIE_MONSITE); $sql = ('SELECT * FROM tb_adherent WHERE id_adherent=:id_adherent'); $requete = $bdd->prepare($sql); $requete->execute(array('id_adherent' => $COOKIE_MONSITE[0])); $donnees = $requete->fetch(); $key = sha1($donnees['nom'] . $donnees['pass'] . $_SERVER['REMOTE_ADDR']); if($key == $COOKIE_MONSITE[1]){ $_SESSION['login'] = (array)$donnees; setcookie('COOKIE_MONSITE', $donnees->id_adherent . '-----' . $key, time() + 3600 * 24 * 3, '/', 'localhost', false, true); }else{ setcookie('COOKIE_MONSITE', '', time() - 3600, '/', 'localhost', false, true); } }
et dans ma page de vérification tout de suite après avoir déclaré les variables de SESSION
if(isset($_POST['SeSouvenir'])){ setcookie('COOKIE_MONSITE', $donnees->id_adherent . '-----' . sha1($donnees->nom . $donnees->pass . $_SERVER['REMOTE_ADDR']), time() + 3600 * 24 * 3, '/', 'localhost', false, true); }
Merci
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
30 juil. 2014 à 12:25
30 juil. 2014 à 12:25
voila un exemple :)
<?php //on teste si le visiteur a soumis le formulaire if (!empty($_POST)){ //on vérifie si le login et password ne sont pas vide, nulle ou non définie if (!empty($_POST['login']) && (!empty($_POST['pass']))){ $login = Security::clean($_POST['login']); $pass = Security::clean($_POST['pass']); $pass = Security::hash($pass); //on sélectionne les champs que l'on veut récupèrer et on teste les champs login et password $sql = ('SELECT * FROM tb_gestion INNER JOIN (tb_adherent INNER JOIN tb_adherent_gestion ON tb_adherent.id_adherent = tb_adherent_gestion.rid_adherent) ON tb_gestion.id_gestion = tb_adherent_gestion.rid_gestion WHERE login=:login AND pass=:pass') or die(print_r($bdd->errorInfo())); $requete = $bdd->prepare($sql); //on execute la requète en lui transmettant la liste des paramètres $requete->execute(array( ':login' => $login, ':pass' => $pass )); //on affiche les reponses de la requète dans un tableau $donnees = $requete->fetch(); //si le password est différent on met un message d'erreur if ($donnees['pass'] != $pass){ echo "<span class='erreur_connexion'>Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ?</br>Dans ce cas désolé...</span>"; }else{ //on cré des variables accessibles depuis toutes les pages $_SESSION['login'] = $login; $_SESSION['id_adherent'] = $donnees['id_adherent']; $_SESSION['nom'] = $donnees['nom']; $_SESSION['prenom'] = $donnees['prenom']; $_SESSION['adresse_mail'] = $donnees['adresse_mail']; $_SESSION['demission'] = $donnees['demission']; $_SESSION['nom_gestion'] = $donnees['nom_gestion']; if(isset($_POST['SeSouvenir'])) { setcookie('COOKIE_MONSITE', array('id' => $donnees['id_adherent']), time() + 2592000); } // Utiliser la redirection --------------- redir("index.php?body=compte_profil&type=compte"); } }else{ echo "<span class='erreur_connexion'>Veuillez remplir tous les champs !!!</span>"; } } if(isset($_COOKIE['COOKIE_MONSITE'])) { $cookieData = unserialize(stripslashes($_COOKIE['COOKIE_MONSITE'])); $cookieData = array( 'id' => (isset($cookieData['id']) ? (int) $cookieData['id'] : 0), ); $_SESSION['id_adherent'] = $cookieData['id']; } ?>
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
30 juil. 2014 à 12:34
30 juil. 2014 à 12:34
Bonjour,
Je viens de voir ton post je vais essayer tout ça te te tiens au courant, mais en attendant un grand merci.
Je viens de voir ton post je vais essayer tout ça te te tiens au courant, mais en attendant un grand merci.
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
Modifié par labourette le 30/07/2014 à 13:01
Modifié par labourette le 30/07/2014 à 13:01
Bonjour,
A priori ça ne m'affiche pas le COOKIE
j'ai fait <?php var_dump($_COOKIE);?>
Mais rien peut-être c'est dû à mon formulaire, voici la partie de la case à cocher
Cordialement
A priori ça ne m'affiche pas le COOKIE
j'ai fait <?php var_dump($_COOKIE);?>
Mais rien peut-être c'est dû à mon formulaire, voici la partie de la case à cocher
Merci encore de ton aide.
<div name="SeSouvenir" id="SeSouvenir">
<fieldset class="fieldset_connexion">
<input type="checkbox" ><span class="SeSouvenir">Se souvenir de moi</span>
</fieldset>
</div>
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
30 juil. 2014 à 13:10
30 juil. 2014 à 13:10
et comme ceci :
<div id="SeSouvenir"> <fieldset class="fieldset_connexion"> <input type="checkbox" name="SeSouvenir"><span class="SeSouvenir">Se souvenir de moi</span> </fieldset> </div>
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
30 juil. 2014 à 15:08
30 juil. 2014 à 15:08
Bonjour
J'arrive toujours à me connecter mais aucun COOKIE n'est créé.
Il ne faut peut-être pas pour créé un COOKIE l'appeler en début de page?
Merci si tu as encore un peu de temps pour m'aider.
J'arrive toujours à me connecter mais aucun COOKIE n'est créé.
Il ne faut peut-être pas pour créé un COOKIE l'appeler en début de page?
Merci si tu as encore un peu de temps pour m'aider.
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
30 juil. 2014 à 17:14
30 juil. 2014 à 17:14
tu peux mettre ca en début de ton fichier php :
ini_set('session.use_cookies', '1'); ini_set('session.use_only_cookies', '1');
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
31 juil. 2014 à 07:09
31 juil. 2014 à 07:09
Bonjour,
Toujours pas réussi à afficher le COOKIE.
J'y voyais plus simple que ça, vu les tutos que j'ai pu lire.
J'espère que tu pourras encore me venir en aide sans quoi je ne penses pas pouvoir y arriver seul.
Merci encore.
Toujours pas réussi à afficher le COOKIE.
J'y voyais plus simple que ça, vu les tutos que j'ai pu lire.
J'espère que tu pourras encore me venir en aide sans quoi je ne penses pas pouvoir y arriver seul.
Merci encore.
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
31 juil. 2014 à 07:56
31 juil. 2014 à 07:56
pour voir si ton cookie a fonctionne tu peux regarder Outils/Options/Vie Privées/supprimmé des cookies Spécifique
normalement tu peux retrouver ton cookie $_COOKIE['COOKIE_MONSITE'] , si c'est le cas c'est ton site qui n'accepte pas les cookies , j'y pense mais change :SeSouvenir en sesouvenir desfois c'est à causes des majuscules qui ne prend pas en compte ;)
normalement tu peux retrouver ton cookie $_COOKIE['COOKIE_MONSITE'] , si c'est le cas c'est ton site qui n'accepte pas les cookies , j'y pense mais change :SeSouvenir en sesouvenir desfois c'est à causes des majuscules qui ne prend pas en compte ;)
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
Modifié par mandolorien le 31/07/2014 à 08:40
Modifié par mandolorien le 31/07/2014 à 08:40
bon double post :/
alors je viens de faire un formulaire chez moi :) dis moi si il fonctionne .
tu creer un fichier dans un dossier en local nommé index.php :
puis tu créer un autre fichier nommé logout_session.php
et enfin tu créer un fichier nommé logout_cookie.php:
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
alors je viens de faire un formulaire chez moi :) dis moi si il fonctionne .
tu creer un fichier dans un dossier en local nommé index.php :
<?php if(isset($_POST["connexion"])) { if(isset($_POST["username"]) && !empty($_POST["username"])) { $username = htmlentities($_POST['username'],ENT_QUOTES,'UTF-8'); if(isset($_POST["sesouvenir"])) { setcookie("username",$username, time() + 2592000); setcookie("time", time() + 2592000, time() + 2592000); } $_SESSION["username"] = $username; } } if(isset($_SESSION["username"])) { ?> Bienvenue :<?php echo $_SESSION["username"]; ?> vous etes actuellement enregistré sur une session <br> <a href="logout_session.php" title="deconnexion">se deconnecter</a> <?php } else { if(isset($_COOKIE["username"])) { $cookieusername = $_COOKIE["username"]; $cookietime = intval($_COOKIE["time"]); ?> Bienvenue : <?php echo $cookieusername; ?> vous etes actuellement enregistre sur un cookie jusqu'au <?php echo date("Y-m-d H:i:s",$cookietime); ?> <br> <a href="logout_cookie.php" title="deconnexion">se deconnecter</a> <?php } else { ?> <form method="post" action=""> <label>ton nom:</label><input name="username" type="text" /> <div id="SeSouvenir"> <fieldset class="fieldset_connexion"> <input type="checkbox" name="sesouvenir"><span class="SeSouvenir">Se souvenir de moi</span> </fieldset> </div> <input type="submit" name="connexion" /> </form> <?php } } ?>
puis tu créer un autre fichier nommé logout_session.php
<?php if(isset($_SESSION)) { session_destroy(); unset($_SESSION); } header("Refresh: ". 1 ."; Url = index.php"); ?>
et enfin tu créer un fichier nommé logout_cookie.php:
<?php setcookie("username","", time()-100000); setcookie("time",time()-100000, time()-100000); header("Refresh: ". 1 ."; Url = index.php"); ?>
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
31 juil. 2014 à 12:16
31 juil. 2014 à 12:16
Bonjour,
Merci beaucoup ça à l'air de fonctionner après plusieurs essais.
Je vais essayer de l'adapter à mon site, par contre quelques questions me viennent si je peux me permettre.
je me suis connecté avec mon login de ma BDD et ça marche.
Pourquoi aucune requète pour récupérer les champs de ma BDD?
Excuse moi il y a pas trop longtemps que j'explore le PHP: par rapport à la connexion avec mon login je voudrais comprendre.
par contre je ne sais pas trop si je vais avoir les compétences pour l'adapter à mon site, je vais essayer.
Merci
Merci beaucoup ça à l'air de fonctionner après plusieurs essais.
Je vais essayer de l'adapter à mon site, par contre quelques questions me viennent si je peux me permettre.
je me suis connecté avec mon login de ma BDD et ça marche.
Pourquoi aucune requète pour récupérer les champs de ma BDD?
Excuse moi il y a pas trop longtemps que j'explore le PHP: par rapport à la connexion avec mon login je voudrais comprendre.
par contre je ne sais pas trop si je vais avoir les compétences pour l'adapter à mon site, je vais essayer.
Merci
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
31 juil. 2014 à 12:44
31 juil. 2014 à 12:44
bah la c'était pour l'exemple :) j'ai effectué l'exemple sans requêtes puisque je ne connais pas ta BDD etc :)
si tu n'arrive pas à l'adapter , je t'aiderai sans problème ;)
si tu n'arrive pas à l'adapter , je t'aiderai sans problème ;)
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
1 août 2014 à 17:24
1 août 2014 à 17:24
Bonjour
Cela m'ennuie de te demander encore ton aide, mais je n'arrive pas à adapter les COOKIE sur mon site.
Je t'envoie la page de "connexion_verif" et la page de "connexion_form"
Ma table c'est "tb_adherent.
Merci encore
page connexion_form.php
page connexion_verif.php
Cela m'ennuie de te demander encore ton aide, mais je n'arrive pas à adapter les COOKIE sur mon site.
Je t'envoie la page de "connexion_verif" et la page de "connexion_form"
Ma table c'est "tb_adherent.
Merci encore
page connexion_form.php
<!--#######################################################################################################################################--> <script type="text/javascript" charset="utf-8"> $(document).ready(function(){ <?php if (isset($_SESSION['login']) && $_SESSION['login'] != NULL) { ?> $('#SeConnecter, #DeconnexionReussie, #SeSouvenir').hide(); <?php } if (!isset($_SESSION['login'])) { ?> $('#DeconnexionReussie').hide(); <?php } if (!isset($_SESSION['login'])) { ?> $('#SeDeconnecter').hide(); <?php } ?> }) </script> <!--#######################################################################################################################################--> <form name="SeConnecter" id="SeConnecter" action="index.php?body=connexion_verif&type=accueil" method="post" enctype="multipart/form-data"> <fieldset class="fieldset_connexion"> <legend class="legend_connexion">Se connecter</legend> <center><b><p style="margin: 5px; padding: 5px;">Réservé aux membres</p></b></center> <label for="login">Login :</label> <center><input type="text" id="login" name="login" class="login" value="<?php if (isset($_POST['login'])){echo htmlentities($_POST['login']);}?>" tabindex="1"/></center> <br/> <label for="motdepasse">Mot de passe :</label> <center><input type="password" id="motdepasse" name="pass" class="motdepasse" value="<?php if (isset($_POST['pass'])){echo htmlentities($_POST['pass']);}?>" tabindex="2"/></center> <br/> <center><input src="image/envoyer.png" width="70%" type="image" name="connexion" class="connexion_form" border="0" Value="" align="middle"/></center> </fieldset> </form> <!--#######################################################################################################################################--> <div id="SeSouvenir"> <fieldset class="fieldset_connexion"> <input type="checkbox" name="SeSouvenir"><span class="SeSouvenir">Se souvenir de moi</span> </fieldset> </div> <!--#######################################################################################################################################--> <div name="SeDeconnecter" id="SeDeconnecter"> <fieldset class="fieldset_connexion"> <span class="SeDeconnecter"><a href="index.php?erreur=delog">Se Déconnecter</a></span> </fieldset> </div> <!--#######################################################################################################################################--> <div name="DeconnexionReussie" id="DeconnexionReussie"> <fieldset class="fieldset_connexion"> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { echo '<span class="DeconnexionReussie">Déconnexion réussie... </br>A bientôt '.$_SESSION['prenom'].' !</br></br>'; echo '<center>'; echo '<a href="index.php?body=accueil&type=accueil">[Retour Formulaire]</a></span>'; echo '</center>'; session_unset(); ?> <script type="text/javascript" charset="utf-8"> $(document).ready(function(){ $('#DeconnexionReussie').show(); $('#SeDeconnecter').hide(); <?php } ?> }) </script> </fieldset> </div> <!--#######################################################################################################################################-->
page connexion_verif.php
<?php //on teste si le visiteur a soumis le formulaire if (!empty($_POST)){ //on vérifie si le login et password ne sont pas vide, nulle ou non définie if (!empty($_POST['login']) && (!empty($_POST['pass']))){ $login = Security::clean($_POST['login']); $pass = Security::clean($_POST['pass']); $pass = Security::hash($pass); //on sélectionne les champs que l'on veut récupèrer et on teste les champs login et password $sql = ('SELECT * FROM tb_gestion INNER JOIN (tb_adherent INNER JOIN tb_adherent_gestion ON tb_adherent.id_adherent = tb_adherent_gestion.rid_adherent) ON tb_gestion.id_gestion = tb_adherent_gestion.rid_gestion WHERE login=:login AND pass=:pass') or die(print_r($bdd->errorInfo())); $requete = $bdd->prepare($sql); //on execute la requète en lui transmettant la liste des paramètres $requete->execute(array( ':login' => $login, ':pass' => $pass )); //on affiche les reponses de la requète dans un tableau $donnees = $requete->fetch(); //si le password est différent on met un message d'erreur if ($donnees['pass'] != $pass){ echo "<span class='erreur_connexion'>Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ?</br>Dans ce cas désolé...</span>"; } else{ //on cré des variables accessibles depuis toutes les pages $_SESSION['login'] = $login; $_SESSION['id_adherent'] = $donnees['id_adherent']; $_SESSION['nom'] = $donnees['nom']; $_SESSION['prenom'] = $donnees['prenom']; $_SESSION['adresse_mail'] = $donnees['adresse_mail']; $_SESSION['demission'] = $donnees['demission']; $_SESSION['nom_gestion'] = $donnees['nom_gestion']; // Utiliser la redirection --------------- redir("index.php?body=compte_profil&type=compte"); } } else{ echo "<span class='erreur_connexion'>Veuillez remplir tous les champs !!!</span>"; } } ?>
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
1 août 2014 à 19:12
1 août 2014 à 19:12
Tu ajoutes ca dans une page qui est souvent requise ;)
<?php if(isset($_COOKIE) && !isset($_SESSION)) { $cookieid= intval($_COOKIE["id_adherent"]); # requete pour voir si l'id existe ! $sql = ('SELECT * FROM tb_gestion INNER JOIN (tb_adherent INNER JOIN tb_adherent_gestion ON tb_adherent.id_adherent = tb_adherent_gestion.rid_adherent) ON tb_gestion.id_gestion = tb_adherent_gestion.rid_gestion WHERE id_adherent=:id_adherent') or die(print_r($bdd->errorInfo())); $requete = $bdd->prepare($sql); //on execute la requète en lui transmettant la liste des paramètres $requete->execute(array( ':id_adherent' => $cookieid )); $result = $requete->rowCount(); if($result > 0) { $donnees = $requete->fetch(); $_SESSION['id_adherent'] = $donnees['id_adherent']; $_SESSION['nom'] = $donnees['nom']; $_SESSION['prenom'] = $donnees['prenom']; $_SESSION['adresse_mail'] = $donnees['adresse_mail']; $_SESSION['demission'] = $donnees['demission']; $_SESSION['nom_gestion'] = $donnees['nom_gestion']; } $donnees->closeCursor(); }
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
4 août 2014 à 13:12
4 août 2014 à 13:12
Bonjour
Je reviens vers toi car malheureusement je n'arrive pas à créer un COOKIE.
dans ma page connexion_verif.php
on test si le visiteur a soumis le formulaire
on vérif le login et le pass
requète pour sélectionner les champs et on teste login et pass
on éxecute la requète
on affiche la réponse' dans un tableau
on affiche les messages d'erreur
sinon on cré les variables de SESSION
En fait j'ai tourné ça dans tous les sens, je ne sais pas à quel moment je doit créer un COOKIE.
Peux tu encore m'aider s'il te plait.
J'ai adapté ce code ci-dessous mais ça me génère une erreur.
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in ........
Merci encore
Je reviens vers toi car malheureusement je n'arrive pas à créer un COOKIE.
dans ma page connexion_verif.php
on test si le visiteur a soumis le formulaire
on vérif le login et le pass
requète pour sélectionner les champs et on teste login et pass
on éxecute la requète
on affiche la réponse' dans un tableau
on affiche les messages d'erreur
sinon on cré les variables de SESSION
En fait j'ai tourné ça dans tous les sens, je ne sais pas à quel moment je doit créer un COOKIE.
Peux tu encore m'aider s'il te plait.
J'ai adapté ce code ci-dessous mais ça me génère une erreur.
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in ........
Merci encore
$usr = trim(mysql_real_escape_string($_POST['login'])); $pwd =trim(mysql_real_escape_string(md5($_POST['pass']))); if($usr && $pwd){ $bdd = mysql_query("SELECT * FROM tb_adherent WHERE login = '".$usr."' AND pass= '".$pwd."' "); if(mysql_num_rows($bdd) > 0){//on verifie si le pseudo et le mot de passe sont correctes. $donnees=mysql_fetch_assoc($bdd); $m_id = $donnees['id_adherent']; $m_username = $donnees['login']; $m_password = $donnees['pass']; $mnt=time(); if($_POST["SeSouvenir"]=="SeSouvenir"){//on vérifie si on veut garder la session active(se souvenir de moi). $temp_cookie=time()+3600*24*30;// la durée du cookie, 3600*24*30 en secondes=30jours. // on crée les cookies setcookie("id_adherent",$_SESSION['id_adherent'],$temp_cookie); setcookie("prenom",$_SESSION['prenom'],$temp_cookie); } // on crée les sessions $_SESSION['id_adherent'] = $m_id; $_SESSION['prenom'] = $m_username; echo "Vous êtes connecté ".$m_username."."; echo '';//rediriger le membre connecté vers la page d'accueil }else{ //si les informations entrées ne sont pas correcte echo"Le nom d'utilisateur ou le mot de passe est incorrecte."; } }else{ // si on a laissé un champ vide echo"Veuillez entrer un nom d'utilisateur est un mot de passe"; }
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
5 août 2014 à 08:26
5 août 2014 à 08:26
le cookies de création doit se être placé lors de la création de la session.
ensuite le cookie qui va être utilisé ne doit pas être mis dans une page qui doit être exécuter par validation dans un champs submit , le cookie doit être appeler dans une page qui appelé partout , par exemple :
ta page config.php ;)
ensuite le cookie qui va être utilisé ne doit pas être mis dans une page qui doit être exécuter par validation dans un champs submit , le cookie doit être appeler dans une page qui appelé partout , par exemple :
ta page config.php ;)
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
6 août 2014 à 23:42
6 août 2014 à 23:42
Bonjour,
Alors voilà où j'en suis...
Lorsque je coche la case se souvenir de moi alors je cré un cookie
Lorsque je clic sur déconnecté je supprime le cookie et la SESSION se ferme bien sur
Mais lorsque le COOKIE est créé en fermant le navigateur le COOKIE est toujours présent mais je suis quand même obligé de me reconnecté.
As tu une idéé s'il te plait je te joint ce que j'ai mis en place.
Merci
mon fichier index.php
mon fichier de vérification
Alors voilà où j'en suis...
Lorsque je coche la case se souvenir de moi alors je cré un cookie
Lorsque je clic sur déconnecté je supprime le cookie et la SESSION se ferme bien sur
Mais lorsque le COOKIE est créé en fermant le navigateur le COOKIE est toujours présent mais je suis quand même obligé de me reconnecté.
As tu une idéé s'il te plait je te joint ce que j'ai mis en place.
Merci
mon fichier index.php
<?php session_start();?> <?php //Si le COOKIE existe et une SESSION n'existe pas if(isset($_COOKIE) && !isset($_SESSION)){ $cookieid= intval($_COOKIE["id_adherent"]); //requete pour voir si l'id existe $sql = ('SELECT * FROM tb_adherent WHERE id_adherent=:id_adherent') or die(print_r($bdd->errorInfo())); $requete = $bdd->prepare($sql); //on execute la requète en lui transmettant la liste des paramètres $requete->execute(array(':id_adherent' => $cookieid)); $result = $requete->rowCount(); if($result > 0){ setcookie('clique', $donnees['id_adherent'] . sha1($donnees['login'] . $donnees['pass'] . $_SERVER['REMOTE_ADDR']), time() + 3600 * 24 * 3, '/', 'localhost', false, true); } else{ setcookie('clique', '', time() - 3600, '/', 'localhost', false, true); } } ?>
mon fichier de vérification
<?php //on teste si le visiteur a soumis le formulaire if (!empty($_POST)){ //on vérifie si le login et password ne sont pas vide, nulle ou non définie if (!empty($_POST['login']) && (!empty($_POST['pass']))){ $login = Security::clean($_POST['login']); $pass = Security::clean($_POST['pass']); $pass = Security::hash($pass); //on sélectionne les champs que l'on veut récupèrer et on teste les champs login et password $sql = ('SELECT * FROM tb_gestion INNER JOIN (tb_adherent INNER JOIN tb_adherent_gestion ON tb_adherent.id_adherent = tb_adherent_gestion.rid_adherent) ON tb_gestion.id_gestion = tb_adherent_gestion.rid_gestion WHERE login=:login AND pass=:pass') or die(print_r($bdd->errorInfo())); $requete = $bdd->prepare($sql); //on execute la requète en lui transmettant la liste des paramètres $requete->execute(array( ':login' => $login, ':pass' => $pass )); //on affiche les reponses de la requète dans un tableau $donnees = $requete->fetch(); //si le password est différent on met un message d'erreur if ($donnees['pass'] != $pass){ echo "<span class='erreur_connexion'>Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ?</br>Dans ce cas désolé...</span>"; } else{ //on cré des variables accessibles depuis toutes les pages $_SESSION['login'] = $login; $_SESSION['id_adherent'] = $donnees['id_adherent']; $_SESSION['nom'] = $donnees['nom']; $_SESSION['prenom'] = $donnees['prenom']; $_SESSION['adresse_mail'] = $donnees['adresse_mail']; $_SESSION['demission'] = $donnees['demission']; $_SESSION['nom_gestion'] = $donnees['nom_gestion']; //Si la case "remember" a été coché on défini la variable "setcookie" //Premier paramètre le nom du COOKIE //2 - id de l'utilisateur //3,4,5 - le login, le mot de pass, l'adresse ip crypter //6 - La durée du COOKIE //7 - Le chemin accessible du COOKIE //8 - Le nom du domaine if(isset($_POST['remember'])){ setcookie('clique', $donnees['id_adherent'] . sha1($donnees['login'] . $donnees['pass'] . $_SERVER['REMOTE_ADDR']), time() + 3600 * 24 * 3, '/', 'localhost', false, true); } // Utiliser la redirection --------------- redir("index.php?body=compte_profil&type=compte"); } } else{ echo "<span class='erreur_connexion'>Veuillez remplir tous les champs !!!</span>"; } } ?>
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
7 août 2014 à 19:37
7 août 2014 à 19:37
Bonjour
Si tu as un peu de temps pour me donner ton avis sur mes fichiers, je suis sur la bonne voie je pense, mais encore quelques problème à résoudre pour que je puise passer à la suite.
Je te remercie
Si tu as un peu de temps pour me donner ton avis sur mes fichiers, je suis sur la bonne voie je pense, mais encore quelques problème à résoudre pour que je puise passer à la suite.
Je te remercie
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
9 août 2014 à 08:04
9 août 2014 à 08:04
Bonjour,
Je reviens vers toi car malgrès un COOKIE de créé, lorsque je réouvre mon navigateur je suis obligé de me reconnecter.
Peux tu encore m'aider s'il te plait, je ne vois pas ce qu'il faut faire.
Je te remercie
Je reviens vers toi car malgrès un COOKIE de créé, lorsque je réouvre mon navigateur je suis obligé de me reconnecter.
Peux tu encore m'aider s'il te plait, je ne vois pas ce qu'il faut faire.
Je te remercie
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
12 août 2014 à 07:57
12 août 2014 à 07:57
c'est bizarre , j'ai réessayer et tous fonctionne , tu es sure que ton navigateur accepte les cookies ? :s