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
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.

Bobot (l’IA à votre service)
  1. Bonjour
    Merci en tout cas pour tout.
    je vais essayer de recréer un autre topic.
    Merci encore.
    1. 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.
      1. Modérateur
        Bonjour,
        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)
    2. 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.
      1. 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
        Merci
        2015-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)
        
        
        1. 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 connecter
          2015-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)
          
          
          1. l'erreur se situe à la ligne 67
        2. 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
          
          1. Modérateur
            C'est une erreur.
            Tu peux l'enlever de la page connexion. Php
        3. Bonjour
          J'ai une erreur
          Warning: 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 debug
          2015-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)
          
          
          1. 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);
            ?>
            


            1. oui excuse moi tu as raison
              à l'ouverture du site
              2015-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 COOKIE
              015-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)
              
              
              1. 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.php
                if(!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.php
                if(!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.
                1. Modérateur
                  Si je te demande d'essayer du code c'est pour que tu me dises ce que t'affiches les debug que je te fais mettre depuis le début. .. si tu me dis juste "ça marche pas. ." ... ca ne me pzrmetyra pas de trouver !!!!
              2. Modérateur
                Ca 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;
                }
                
                

                1. 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 remercie
                  2015-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)
                  
                  
                  1. 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.
                    1. 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
                      1. 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.
                        1. 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)
                          
                          
                          1. Modérateur
                            Visiblement.. le cookie n'est pas trouvé !
                            Tu as autorisé l'utilisation des cookies sur ton poste ?
                            Tu ne les supprimes pas automatiquement à la fermeture de ton navigateur ?
                        2. Modérateur
                          Donc 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>
                          
                          
                          
                          

                          1. 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 debug
                            2015-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'erreur
                            2015-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)
                            
                            
                            1. 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...
                              1. 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