Cookie
Bonjour
Je souhaiterai pouvoir mettre en place une reconnexion automatique.
Malheureusement je n'y arrive pas et en plus il y a très peu d'aide vidéo en Français.
J'ai une connexion qui fonctionne, avec la création de COOKIE avec 2 fonctions pour crypter et décrypter le pseudo et password, si quelqu'un peut m'aider s'ils vous plait.
En vous remerciant d'avance.
Merci beaucoup.
Mon fichier de connexion
Je souhaiterai pouvoir mettre en place une reconnexion automatique.
Malheureusement je n'y arrive pas et en plus il y a très peu d'aide vidéo en Français.
J'ai une connexion qui fonctionne, avec la création de COOKIE avec 2 fonctions pour crypter et décrypter le pseudo et password, si quelqu'un peut m'aider s'ils vous plait.
En vous remerciant d'avance.
Merci beaucoup.
Mon fichier de connexion
if(isset($_POST['pseudo']) && isset($_POST['password'])) {
$pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : '';
$password = isset($_POST['password']) ? Security::clean($_POST['password']) : '';
$actif = isset($_POST['actif']) ? $_POST['actif'] : '';
$connexion = new Connexion_class($pseudo, $password, $actif);
$verif = $connexion->Verif();
if($verif == 'success') {
if(isset($_POST['remember'])) {
$value = Security::crypt($pseudo) . '_' . Security::crypt($password);
setcookie('cliquedecruet', $value, time() + 3600 * 24 * 365, null, null, false, true);
}
header('Location: index.php?body=compte_profil&type=compte');
} else {
$erreur[] = $verif;
}
}
42 réponses
Résumé de la discussion
La demande porte sur une reconnexion automatique via un cookie qui stocke le pseudo et le mot de passe cryptés, puis les déchiffre côté serveur lors de la connexion ultérieure. Les débogages révèlent que le cookie cliquedecruet est bien créé et présent, mais sa valeur peut être illisible après fermeture du navigateur, et des notices comme Undefined variable: actif apparaissent. En pratique, l’implantation dans index.php repose sur explode('_', $_COOKIE['cliquedecruet']) puis décryptage des éléments, mais il faut corriger le passage des valeurs à la requête SQL et gérer les cas sans deux valeurs.
-
Bonjour
Merci en tout cas pour tout.
je vais essayer de recréer un autre topic.
Merci encore. -
Bonjour
Excuse moi de te déranger encore une fois mais j'ai vraiment essayé de résoudre mon problème sur les COOKIE mais rien à faire je suis dans l'impasse total.
Merci encore si tu as un peu de temps pour moi sinon ça ne fait rien je vais essayer de recréer un autre topic sur ce sujet.
Encore bien merci pour tout.-
ModérateurBonjour,
Je suis désolé. c'est vrai qu'en ce moment je suis un peu pris par le temps.....
Ce qui me gène dans ce qu'on a essayé... c'est que visiblement le cookie ne se créé même pas....
A la limite, histoire que d'autres personnes viennent regarder ton souci et puissent éventuellement t'apporter une réponse, ferme cette discussion et ouvre en une autre .
Et pour maximiser tes chances d'obtenir une réponse... pense à
y mettre le code source de tes pages ( les trois... ta class de connexion, ton index et ta page connexion.php)
-
-
Bonjour
Excuse moi encore de te déranger, je voulais simplement savoir si tu as pu essayer de me trouver pourquoi je n'arrive pas à avoir la reconnexion automatique en fait...
Merci en attendant. -
Bonjour
Au niveau de l'erreur j'ai fait une modif ??if (!isset($_SESSION['cnx']) && isset($_COOKIE[$cookie_name])) {
Toujours pareil aucune connexion possible je te renvoie les debug
Merci2015-01-18 00:0:40-----> debug: Variables de session : Array ( [erreur_2] => Aucune COOKIE detectée... ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 112 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de session ' (length=22) 2015-01-18 00:0:40-----> debug: Variables de COOKIE : Array ( [toolbarDisplay] => hide [PHPSESSID] => 9g5c62u58da6bf6q97rnb1rn33 [switchmenu] => ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 113 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de COOKIE ' (length=21) 2015-01-18 00:0:40-----> debug: Variables POST : Array ( [pseudo] => gilbertchia [password] => gilbert [remember] => on [connexion_x] => 62 [connexion_y] => 27 ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 114 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables POST ' (length=16) -
J'ai une erreur donc en ouvrant le site
Notice: Undefined index: cnx in C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php on line 62
donc impossible de me connecter2015-01-17 10:0:33-----> debug: Variables de session : Array ( [erreur_2] => Aucune COOKIE detectée... ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 97 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de session ' (length=22) 2015-01-17 10:0:33-----> debug: Variables de COOKIE : Array ( [toolbarDisplay] => hide [PHPSESSID] => 4ei3imfp32dgkn9heoit43cp10 [switchmenu] => ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 98 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de COOKIE ' (length=21) 2015-01-17 10:0:33-----> debug: Variables POST : Array ( [pseudo] => gilbertchia [password] => gilbert [remember] => on [connexion_x] => 57 [connexion_y] => 30 ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 99 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables POST ' (length=16) -
Voici l'erreur lorsque j'essaie de me connecter
Fatal error: Cannot redeclare CNX() (previously declared in C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php:25) in C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\page_accueil\connexion.php on line 63
-
Bonjour
J'ai une erreurWarning: setcookie() expects parameter 2 to be string, array given in C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php on line 57
Une question pourquoi j'ai la fonction CNX dans la page index.php et dans la page connexion.php ?
Comme ça je n'arrive pas à me connecter.
voilà à l'ouverture du site la totalité des debug2015-01-17 09:0:03-----> debug: Variables de session : Array ( [arrLoginPassword] => Array ( [0] => ??{???L?yh? [1] => ??d?HV?? ) [cnx] => [erreur] => Array ( [0] => Mauvais mot de passe...ou Mauvais login...Merci de recommencer. Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé... ) [infos_cnx] => Array ( [login_cnx] => gilbertchia [pwd_cnx] => gilbert [actif_cnx] => 1 [remember_cnx] => 1 ) [erreur_2] => SESSION CNX existe déjà. ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 97 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de session ' (length=22)2015-01-17 09:0:03-----> debug: Variables de COOKIE : Array ( [toolbarDisplay] => hide [PHPSESSID] => ilqcf1iu6vhd9n651o03nisbo0 [switchmenu] => ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 98 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de COOKIE ' (length=21)2015-01-17 09:0:03-----> debug: Variables POST : Array ( ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 99 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables POST ' (length=16) -
Modérateur(sans avoir les sources sur mon poste.. pas évident de trouver ce qui cloche.)
Par contre.. si tu compares tes fichiers récents à tes anciens scripts... tu verras que la création du cookie n'est pas identique....
Bref...Continuons les tests.....
Fichier INDEX.php<?php session_start(); //----------------------------------------------------- // Page index.php // 2015-01-17 //----------------------------------------------------- include('include/init.php'); // Nom du Cookie servant à stocker les identifiants $cookie_name = 'cliquedecruet'; function debug($value,$title=NULL){ echo "<pre>"; echo date('Y-m-d H:I:s')."-----> debug:"; if ($title){ echo "<b>".$title." : </b>"; } if(is_array($value)){ echo "<br>"; print_r($value); }else{ echo $value; } echo "<br>"; var_dump(debug_backtrace()); echo "</pre>"; } function CNX( $pseudo, $password, $remember = NULL,$actif=NULL ) { //-------------------------------------------------------------- // on place en variables de sessions les infos le temps des tests //-------------------------------------------------------------- $arrInfos = array(); setcookie('testCNX',date('Y-m-d H:i:s'), time() + (3600 * 24 )); $arrInfos['login_cnx'] = $pseudo; $arrInfos['pwd_cnx'] = $password; $arrInfos['actif_cnx'] = $actif; $arrInfos['remember_cnx'] = $remember; //-------------------------------------------------------------- $connexion = new Connexion_class( $pseudo, $password, $actif ); $verif = $connexion->Verif(); if($verif == 'success') { if($remember ){ $value = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie($cookie_name, $value, time() + (3600 * 24 * 365)); $arrInfos['loginPwd_crypt_cnx'] = $value; debug($_COOKIE,"CNX - Cookie ".$cookie_name." créé !"); } $result['erreur'] = NULL; $_SESSION['erreur'] = $verif; $result['cnx'] = TRUE; $_SESSION['cnx'] = TRUE; $_SESSION['pseudo'] = $pseudo; } else { $result['cnx'] = FALSE; $result['erreur'] = $verif; $_SESSION['cnx'] = FALSE; $_SESSION['erreur'] = $verif; } setcookie('test_cnx',$arrInfos,time()+3600*10)); $_SESSION['infos_cnx'] = $arrInfos; return $result; } if(!$_SESSION['cnx'] && isset($_COOKIE[$cookie_name])) { if(isset($_COOKIE[$cookie_name])){ $arrLoginPassword = explode("_",$_COOKIE[$cookie_name]); $_SESSION['arrLoginPassword'] = $arrLoginPassword; $remember = TRUE; if( is_array($arrLoginPassword)) { $pseudo = Security::decrypt($arrLoginPassword[0]); $password = Security::decrypt($arrLoginPassword[1]); $result = CNX( $pseudo, $password, $remember,TRUE ); $erreur[] = $result['erreur']; if($result=='success'){ header('Location: index.php?body=compte_profil&type=compte'); } }else { $erreur[] = "arrLoginPassword n'est pas un array !"; } }else{ $erreur[] = "le COOKIE ".$cookie_name." n'existe pas!"; } $_SESSION['erreur'] = $erreur; }elseif(isset($_SESSION['cnx'])){ $_SESSION['erreur_2'] = "SESSION CNX existe déjà."; }else{ $_SESSION['erreur_2'] = "Aucune COOKIE detectée..."; } // Affichage des messages d'erreur if (isset($erreur)) { echo output_errors($erreur); } //-------------------------------------------------- // Le temps des tests : //****************************** if(isset($result['cnx'])){ debug($result," RESULT "); } debug($_SESSION," Variables de session "); debug($_COOKIE," Variables de COOKIE "); debug($_POST," Variables POST "); //-------------------------------------------------- ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>La Clique de Cruet</title> <!--indique au moteurs de recherche et au navigateur le codage utilisé pour les fichiers du site--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!--définit la langue de cette page pour les moteurs de recherche--> <meta http-equiv="content-language" content="fr"/> <!--permet d'indiquer la description de cette page pour les moteurs de recherche--> <meta name="description" content="animation fête au village cérémonie concert musique festivité"/> <!--indique les mots clefs par ordre d'importance pour les moteurs de recherche--> <meta name="keywords" content="batterie, fanfare, clique, musique, orchestre, instrument, clairon, cor,"/> <!--permet de préciser le nom de l'auteur pour les moteurs de recherche--> <meta name="author" content="clique de cruet"/> <!--permet d'indiquer aux moteurs de recherche pour que notre site soit indexé--> <meta name="robots" content="all"/> <!--permet de mettre une icône dans la barre d'adresse--> <link rel="shortcut icon" href="http://www.cliquedecruet.fr/image/favicon.ico"/> <!--Un affichage correct de balises sur les anciennes versions d'Internet Explorer (IE6, IE7, IE8)--> <!--[if lt IE 9] est un commentaire conditionnel. C'est un commentaire spécial qui n'est lu que par Internet Explorer--> <!--[if lt IE 9]> <link rel="stylesheet" href="design/style_ie.css" /> <![endif]--> <!--[if lt IE 9]> <script type="text/javascript" language="javascript" src="lib/html5.js"></script> <![endif]--> <link rel="stylesheet" type="text/css" href="design/base.css"/> <link rel="stylesheet" type="text/css" href="design/general.css"/> <link rel="stylesheet" type="text/css" href="design/effet.css"/> <link rel="stylesheet" type="text/css" href="design/case_a_cocher.css"/> <script type="text/javascript" language="javascript" src="lib/menu_navigation.js"></script><!--Cacher les menus vertcal--> <script type="text/javascript" language="javascript" src="fonctions/fonction.js"></script><!--Effet sur les liens--> <script type="text/javascript" language="javascript" src="lib/jquery-latest.js"></script><!--Formulaire--> </head> <body> <div id="tete_page"><?php include ('page_accueil/tete_page.php');?></div> <div id="menu_horizontal"><?php include ('page_accueil/menu_horizontal.php');?></div> <div id="bloc_central"> <div id="bloc_gauche"> <div id="menu_vertical"><?php include ('page_accueil/menu_vertical.php');?></div> <div id="identifiant_perdu"><?php include ('page_accueil/identifiant_perdu.php');?></div> <div id="connexion_form"><?php include ('page_accueil/connexion_form.php');?></div> </div> <div id="bloc_droit"> <div id="bloc_droit_haut"><?php include ('page_accueil/bloc_droit_haut.php');?></div> <div id="bloc_droit_bas"><?php include ('page_accueil/bloc_droit_bas.php');?></div> </div> <div id="contenu"> <?php if (isset($_SESSION['id_adherent'])){ $pren = (utf8_decode ($_SESSION['prenom'])); echo '<div class="bonjour">'; echo ' <img src="image/coche_ok.png" alt="bonjour"/> Bonjour '.$pren ; echo '</div><br/><br/><br/>'; } include($corps); ?> </div> </div> <div id="pied_page"><?php include ('page_accueil/pied_page.php');?></div> </body> </html>
Ta page : Connexion.php<?php session_start(); function CNX( $pseudo, $password, $remember = NULL,$actif=NULL ) { //-------------------------------------------------------------- // on place en variables de sessions les infos le temps des tests //-------------------------------------------------------------- $arrInfos = array(); $arrInfos['login_cnx'] = $pseudo; $arrInfos['pwd_cnx'] = $password; $arrInfos['actif_cnx'] = $actif; $arrInfos['remember_cnx'] = $remember; //-------------------------------------------------------------- $connexion = new Connexion_class( $pseudo, $password, $actif ); $verif = $connexion->Verif(); if($verif == 'success') { if($remember ){ $value = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie($cookie_name, $value, time() + (3600 * 24 * 365)); $arrInfos['loginPwd_crypt_cnx'] = $value; debug($_COOKIE,"CNX - Cookie ".$cookie_name." créé !"); } $result['erreur'] = NULL; $_SESSION['erreur'] = $verif; $result['cnx'] = TRUE; $_SESSION['cnx'] = TRUE; $_SESSION['pseudo'] = $pseudo; } else { $result['cnx'] = FALSE; $result['erreur'] = $verif; $_SESSION['cnx'] = FALSE; $_SESSION['erreur'] = $verif; } setcookie('login.php -- test_cnx',$arrInfos,time()+3600*10)); $_SESSION['infos_cnx'] = $arrInfos; return $result; } if(isset($_POST['pseudo']) && isset($_POST['password'])) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; $remember = isset($_POST['remember']) ?$_POST['remember'] : NULL; $result = CNX( $pseudo, $password, $remember,$actif); $erreur[] = $result['erreur']; if($result=='success'){ header('Location: index.php?body=compte_profil&type=compte'); } } // Affichage des messages d'erreur if (isset($erreur)) { echo output_errors($erreur); } //-------------------------------------------------- // Le temps des tests : //****************************** if(isset($result['cnx'])){ echo "<br> Connexion :".$result['cnx']."<br>"; } echo "<br> Variables de session :<br>"; print_r($_SESSION); echo "<br> Variables COOKIE :<br>"; print_r($_COOKIE); ?>
-
oui excuse moi tu as raison
à l'ouverture du site2015-01-16 23:0:01-----> debug: Variables de session : Array ( [pseudo_cnx] => gilbert [pwd_cnx] => gilbert [cnx] => [erreur] => Array ( [0] => Mauvais mot de passe...ou Mauvais login...Merci de recommencer. Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé... ) ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 103 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de session ' (length=22) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7)
après m'avoir connecté en cochant la case de COOKIE015-01-16 23:0:37-----> debug:test : Cookie créé ! array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 54 'function' => string 'debug' (length=5) 'args' => array 0 => &string 'Cookie créé !' (length=15) 1 => &string 'test' (length=4) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 78 'function' => string 'CNX' (length=3) 'args' => array 0 => &string 'gilbertchia' (length=11) 1 => &string 'gilbert' (length=7) 2 => &string 'on' (length=2) 2 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7)
2015-01-16 23:0:37-----> debug:CNX - Cookie : Array ( [testCNX] => 2015-01-16 23:25:42 [toolbarDisplay] => hide [PHPSESSID] => qi0eui52oj5r03e12aenrvjp74 [switchmenu] => ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 55 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string 'CNX - Cookie' (length=12) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 78 'function' => string 'CNX' (length=3) 'args' => array 0 => &string 'gilbertchia' (length=11) 1 => &string 'gilbert' (length=7) 2 => &string 'on' (length=2) 2 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7)
lorsque je réouvre le navigateur voici le résultat
2015-01-16 23:0:23-----> debug: RESULT : Array ( [cnx] => [erreur] => Mauvais mot de passe...ou Mauvais login...Merci de recommencer. Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé... ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 101 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' RESULT ' (length=8) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7) <code php> 015-01-16 23:0:23-----> debug: Variables de COOKIE : Array ( [testCNX] => 2015-01-16 23:36:03 [cliquedecruet] => ??{???L?yh?_??d?HV?? [toolbarDisplay] => hide ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 104 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de COOKIE ' (length=21) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7)015-01-16 23:0:23-----> debug: Variables de COOKIE : Array ( [testCNX] => 2015-01-16 23:36:03 [cliquedecruet] => ??{???L?yh?_??d?HV?? [toolbarDisplay] => hide ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 104 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de COOKIE ' (length=21) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7) -
Bonjour
désolé c'est toujours pareil peut-être qu'il y a autre chose, je ne sais pas.
S'il te plait regarde ses deux bout de code
fichier connexion.phpif(!empty($_POST)) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; if(empty($pseudo) || empty($password)) { $erreur[] = 'Veuillez entrer le Login et le Mot de passe'; } else { $password = Security::hash($password); $user = new User(); $user->setPseudo($pseudo); $user->setPassword($password); if($user->login()) { $_SESSION['id_adherent'] = serialize($user); if(isset($_POST['remember'])) { $value = Security::crypt($user->getPseudo()) . '_' . Security::crypt($user->getPassword()); setcookie('cliquedecruet', $value, time() + 3600 * 24 * 3); } header('Location: index.php?body=compte_profil&type=compte'); exit(); } else { $erreur[] = 'La combinaison Login/Mot de passe est incorrect'; } } } if (isset($erreur)) { echo output_errors($erreur); }
fichier index.phpif(!isset($_SESSION['id_adherent']) && isset($_COOKIE['cliquedecruet'])) { $values = Security::clean($_COOKIE['cliquedecruet']); $values = explode('_', $values); if(count($values) == 2) { $pseudo = Security::decrypt($values[0]); $password = Security::decrypt($values[1]); $user_try = new User(); $user_try->setPseudo($pseudo); $user_try->setPassword($password); if($user_try->login()) { $_SESSION['id_adherent'] = serialize($user_try); header('Location: index.php?body=compte_profil&type=compte'); exit(); } else { $error = 'La combinaison Login/Mot de passe est incorrect'; } } else { $error = 'Le Cookie est invalide'; } }
avec ses codes je viens encore d'essayer sur mon ancien site là les COOKIE fonctionne bien pas besoin de me reconnecter bien sur je ne suis pas arriver à l'adapter sur ce site
J'ai une class User avec une méthode login
C'est vraiment dingue cette histoire..
Vraiment un grand merci pour le temps que tu passes pour moi, c'set vraiment très sympa. -
ModérateurCa serait donc la création du cookie qui ne se fait pas....
Essayes ça :
function CNX( $pseudo, $password, $remember = NULL ) { setcookie('testCNX',date('Y-m-d H:i:s'), time() + (3600 * 24 )); $_SESSION['pseudo_cnx'] = $password; $_SESSION['pwd_cnx'] = $password; $connexion = new Connexion_class( $pseudo, $password, $actif ); $verif = $connexion->Verif(); if($verif == 'success') { if( $remember ) { $value = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie('cliquedecruet', $value, time() + (3600 * 24 * 365)); debug("Cookie créé !","test"); debug($_COOKIE,"CNX - Cookie"); } $result['erreur'] = NULL; $_SESSION['erreur'] = $verif; $result['cnx'] = TRUE; $_SESSION['cnx'] = TRUE; $_SESSION['pseudo'] = $pseudo; } else { $result['cnx'] = FALSE; $result['erreur'] = $verif; $_SESSION['cnx'] = FALSE; $_SESSION['erreur'] = $verif; } return $result; }
-
Bonjour
Excuse moi je viens de m'apercevoir d'après ton dernier post que lorsque je me connecte en demandant le COOKIE, celui-ci ne s'affiche pas en fait.
Si tu peux encore prendre quelques minutes pour regarder le debug sinon après je laisse tomber les COOKIES.
Je te remercie2015-01-16 10:0:53-----> debug: Variables de COOKIE : Array ( [toolbarDisplay] => hide [PHPSESSID] => 991ak4tc015joo5n9pkinv2rd5 [switchmenu] => ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 107 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de COOKIE ' (length=21) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7) -
Bonjour
Je désespére j'ai encore regardé pas mal de vidéo concernant la connexion automatique mais en vain.
J'espère que je peux encore compter sur toi
En te remerciant très sincérement. -
Je vais t'expliquer quelque chose.
En fait il y a quelques temps je voulais refaire mon ancien site avec requète préparée organiser avec des class et méthode et donc on m'avais aider à faire une class bref j'y comprennais pas trop alors j'ai souhaité refaire plus simple et mieux comprehensible pour moi car quand je comprends pas ça m'agace et il y avait trop d'erreur aussi et alors tu m'a aidé pour le commencement de mon nouveau site qui pour l'instant tout va bien à l'exception de ce problème.
La seul chose qui fonctionnais bien sur l'autre site c'étais la re-connexion automatique, c'est dingue et je n'ai jamais pu l'adapter sur ce nouveau site.
Je peux t'envoyer les scripts qui servait à la re-connexion automaitque pour voir si toi tu peux l'adapter.
J'espère que j'ai été clair sur mes explications.
Merci -
Non le COOKIE est bien présent dès que j'ouvre mon navigateur j'ai regardé et il est présent j'ai fait plusieurs essaie d'ailleurs.
-
là à priori aucune aucune à l'ouverture du site
2015-01-15 17:0:33-----> debug: Variables de session : Array ( [erreur_2] => Aucune variable POST ni COOKIE detectée... ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 104 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' Variables de session ' (length=22) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7) -
ModérateurDonc quand tu arrives sur le site tu as une erreur :
[erreur] => Mauvais mot de passe...ou Mauvais login...Merci de recommencer.
Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé...
Il y a donc un souci....
On va ajouter quelques infos en session pour essayer de voir si les identifiants envoyés dans la fonction CNX sont bons.....
<?php session_start(); include('include/init.php'); function debug($value,$title=NULL){ echo "<pre>"; echo date('Y-m-d H:I:s')."-----> debug:"; if ($title){ echo "<b>".$title." : </b>"; } if(is_array($value)){ echo "<br>"; print_r($value); }else{ echo $value; } echo "<br>"; var_dump(debug_backtrace()); echo "</pre>"; } function CNX( $pseudo, $password, $remember = NULL ) { $_SESSION['pseudo_cnx'] = $password; $_SESSION['pwd_cnx'] = $password; $connexion = new Connexion_class( $pseudo, $password, $actif ); $verif = $connexion->Verif(); if($verif == 'success') { if( $remember ) { $value = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie('cliquedecruet', $value, time() + 3600 * 24 * 365, null, null, false, true); } $result['erreur'] = NULL; $_SESSION['erreur'] = $verif; $result['cnx'] = TRUE; $_SESSION['cnx'] = TRUE; $_SESSION['pseudo'] = $pseudo; } else { $result['cnx'] = FALSE; $result['erreur'] = $verif; $_SESSION['cnx'] = FALSE; $_SESSION['erreur'] = $verif; } return $result; } if(isset($_POST['pseudo']) && isset($_POST['password'])) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; $remember = isset($_POST['remember']) ?$_POST['remember'] : NULL; $result = CNX( $pseudo, $password, $remember ); $erreur[] = $result['erreur']; } elseif ( isset($_COOKIE['cliquedecruet'])) { $arrLoginPassword = explode("_",$_COOKIE['cliquedecruet']); $_SESSION['arrLoginPassword'] = $arrLoginPassword; $remember = TRUE; if( is_array($arrLoginPassword)) { $pseudo = Security::decrypt($arrLoginPassword[0]); $password = Security::decrypt($arrLoginPassword[1]); $result = CNX( $pseudo, $password, $remember ); $erreur[] = $result['erreur']; } else { $erreur[] = "arrLoginPassword n'est pas un array !"; } $_SESSION['erreur'] = $erreur; }else{ $_SESSION['erreur_2'] = "Aucune variable POST ni COOKIE detectée..."; } // Affichage des messages d'erreur if (isset($erreur)) { echo output_errors($erreur); } //-------------------------------------------------- // Le temps des tests : //****************************** if(isset($result['cnx'])){ debug($result," RESULT "); } debug($_SESSION," Variables de session "); debug($_COOKIE," Variables de COOKIE "); debug($_POST," Variables POST "); //-------------------------------------------------- ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>La Clique de Cruet</title> <!--indique au moteurs de recherche et au navigateur le codage utilisé pour les fichiers du site--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!--définit la langue de cette page pour les moteurs de recherche--> <meta http-equiv="content-language" content="fr"/> <!--permet d'indiquer la description de cette page pour les moteurs de recherche--> <meta name="description" content="animation fête au village cérémonie concert musique festivité"/> <!--indique les mots clefs par ordre d'importance pour les moteurs de recherche--> <meta name="keywords" content="batterie, fanfare, clique, musique, orchestre, instrument, clairon, cor,"/> <!--permet de préciser le nom de l'auteur pour les moteurs de recherche--> <meta name="author" content="clique de cruet"/> <!--permet d'indiquer aux moteurs de recherche pour que notre site soit indexé--> <meta name="robots" content="all"/> <!--permet de mettre une icône dans la barre d'adresse--> <link rel="shortcut icon" href="http://www.cliquedecruet.fr/image/favicon.ico"/> <!--Un affichage correct de balises sur les anciennes versions d'Internet Explorer (IE6, IE7, IE8)--> <!--[if lt IE 9] est un commentaire conditionnel. C'est un commentaire spécial qui n'est lu que par Internet Explorer--> <!--[if lt IE 9]> <link rel="stylesheet" href="design/style_ie.css" /> <![endif]--> <!--[if lt IE 9]> <script type="text/javascript" language="javascript" src="lib/html5.js"></script> <![endif]--> <link rel="stylesheet" type="text/css" href="design/base.css"/> <link rel="stylesheet" type="text/css" href="design/general.css"/> <link rel="stylesheet" type="text/css" href="design/effet.css"/> <link rel="stylesheet" type="text/css" href="design/case_a_cocher.css"/> <script type="text/javascript" language="javascript" src="lib/menu_navigation.js"></script><!--Cacher les menus vertcal--> <script type="text/javascript" language="javascript" src="fonctions/fonction.js"></script><!--Effet sur les liens--> <script type="text/javascript" language="javascript" src="lib/jquery-latest.js"></script><!--Formulaire--> </head> <body> <div id="tete_page"><?php include ('page_accueil/tete_page.php');?></div> <div id="menu_horizontal"><?php include ('page_accueil/menu_horizontal.php');?></div> <div id="bloc_central"> <div id="bloc_gauche"> <div id="menu_vertical"><?php include ('page_accueil/menu_vertical.php');?></div> <div id="identifiant_perdu"><?php include ('page_accueil/identifiant_perdu.php');?></div> <div id="connexion_form"><?php include ('page_accueil/connexion_form.php');?></div> </div> <div id="bloc_droit"> <div id="bloc_droit_haut"><?php include ('page_accueil/bloc_droit_haut.php');?></div> <div id="bloc_droit_bas"><?php include ('page_accueil/bloc_droit_bas.php');?></div> </div> <div id="contenu"> <?php if (isset($_SESSION['id_adherent'])){ $pren = (utf8_decode ($_SESSION['prenom'])); echo '<div class="bonjour">'; echo ' <img src="image/coche_ok.png" alt="bonjour"/> Bonjour '.$pren ; echo '</div><br/><br/><br/>'; } include($corps); ?> </div> </div> <div id="pied_page"><?php include ('page_accueil/pied_page.php');?></div> </body> </html>
-
Bonjour
Je suis en train d'analyser les debug que tu m'a fait faire.
En fait dès que j'ouvre le site voilà le debug2015-01-15 16:0:06-----> debug: RESULT : Array ( [cnx] => [erreur] => Mauvais mot de passe...ou Mauvais login...Merci de recommencer. Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé... ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 99 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' RESULT ' (length=8) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7)
lorsque je me connecte j'ai bien la connexion et pas d'erreur2015-01-15 16:0:15-----> debug: RESULT : Array ( [erreur] => [cnx] => 1 ) array 0 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'line' => int 99 'function' => string 'debug' (length=5) 'args' => array 0 => & array ... 1 => &string ' RESULT ' (length=8) 1 => array 'file' => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\index.php' (length=57) 'line' => int 2 'args' => array 0 => string 'C:\Users\Gilbert\Dropbox\wamp\www\cliquedecruet\include\init.php' (length=64) 'function' => string 'include' (length=7) -
et puis aussi j'ai fait un print_r sur ma page d'accueil et ça m'affiche mon nom, prenom et id...
et si je change d'utilisateur ça m'affiche les bonnes coodonnées... -
Bonjour
Ben en fait j'arrive sur mon compte avec "Bonjour Gilbert" et toutes mes coordonnées sont affichée et je peux les modifier changer mon mot de passe etc...
- 1
- 2
- 3
Suivant