L'utilisateur reste connecter sur tout les page de mon site

Résolu
mobrobot Messages postés 182 Statut Membre -  
mobrobot Messages postés 182 Statut Membre -
Bonsoir a tous le monde s'il vous plait j'ai fouillée par tous sur le NET je n'arrive pas a voir ce que je veut, je suis bloque sur un code. au fait mon problème est la suivant je voudrais crée un système qui permettras a l'utilisateur de restée connecter sur tout les pages de mon site comme sur Commentcamarche j'ai essayé le code suivant il m'affiche rien sauf une page blanche
//Connexion a la base de donnees
require 'dbconnectM.php'; 

	if(isset($_SESSION['id'])){
	
		$sql = "SELECT * FROM membres WHERE id = ?";
  		$datas = (array($_SESSION['id']));

	try{
		$req = $bdd->prepare($sql);
		$req->execute($datas);
	}catch(Exception $e){
		echo 'Erreur : !' .$e->getMessage();
		echo "Les datas";
		print_r($datas);
	}
	$resultat = $req->fetch();

?>
<h3><?php echo $resultat['pseudo']; ?></h3>


<?php 
}
?>


Merci pour votre aide.

5 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    As tu démarré les SESSION dans ton script ? Je ne vois pas le session_start ?

    Ensuite... applique ceci :
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs (l'affichage des erreurs PHP en plus des PDO que tu as déjà )

    et ceci :
    https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

    Au cas où, montre nous le code COMPLET de ce fichier et non juste un petit bout ....

    Cordialement, 
    Jordane                                                                 
    0
  2. mobrobot Messages postés 182 Statut Membre 1
     
    Mon nouveau code:
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    //Connexion a la base de donnees
    require 'dbconnectM.php'; 
    
    	if(isset($_SESSION['id'])){
    	
    		$sql = "SELECT * FROM membres WHERE id = ?";
      		$datas = (array($_SESSION['id']));
    
    	try{
    		$req = $bdd->prepare($sql);
    		$req->execute($datas);
    	}catch(Exception $e){
    		echo 'Erreur : !' .$e->getMessage();
    		echo "Les datas";
    		print_r($datas);
    	}
    	$resultat = $req->fetch();
    ?>
    <h3><?php echo $resultat['pseudo']; ?></h3>
    <?php 
    }
    ?>
    <?php
    >
    0
  3. mobrobot Messages postés 182 Statut Membre 1
     
    le fichier de connexion a la base donnees
    try{
    $bdd =new PDO('mysql:host=localhost;dbname=membres_du_site; charset=utf8', 'root', '');
    // Activation des erreurs PDO
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
     $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    0
  4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Et le session_start ?

    Essaye ça
    <?php
    //démarrage des sessions ( à mettre sur TOUTES tes pages)
    session_start();
    
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    //Connexion a la base de donnees
    require_once 'dbconnectM.php'; 
    
    //récupération PROPRE des variables AVANT de les utiliser
    $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
    
    	if($id){
    	
    		$sql = "SELECT * FROM membres WHERE id = ?";
      	$datas = array($id);
    
        try{
          $req = $bdd->prepare($sql);
          $req->execute($datas);
          $resultat = $req->fetch();
        }catch(Exception $e){
          echo 'Erreur : !' .$e->getMessage();
          echo "Les datas";
          print_r($datas);
        }
      
      if(!empty($resultat)){
        echo "<h3>".$resultat['pseudo']."</h3>";
      }
      
     } else{
        echo " AUCUN ID ! "; // à laisser juste le temps des tests
     }
    ?>
    

    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      Ou encore mieux...
      <?php
      //démarrage des sessions ( à mettre sur TOUTES tes pages)
      session_start();
      
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);
      
      //Connexion a la base de donnees
      require_once 'dbconnectM.php'; 
      
      //---------------------------------------------------//
      //fonctions
      //---------------------------------------------------//
      
      /**
      * Faire une requête SELECT et retourne 1 ligne
      */
      function querySelectOneRow($sql,$datas=NULL){
       global $bdd;
       $resultat = NULL;
       try{
            $req = $bdd->prepare($sql);
            $req->execute($datas);
            $resultat = $req->fetch();
        }catch(Exception $e){
            echo 'Erreur : !' .$e->getMessage();
            echo "Les datas";
            print_r($datas);
        }
       return $resultat;
      }
      
      /**
      * Récupère les infos d'un user en fonction de son ID
      */
      function getUserInfosById($id){
        $sql = "SELECT * FROM membres WHERE id = ?";
        $datas = array($id);
        return querySelectOneRow($sql,$datas);
      }
      
      
      //récupération PROPRE des variables AVANT de les utiliser
      $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
      
      if($id){
          $resultat = getUserInfosById($id);  
          if(!empty($resultat)){
            echo "<h3>".$resultat['pseudo']."</h3>";
          }
      } else{
          echo " AUCUN ID ! "; // à laisser juste le temps des tests
      }
      ?>
      
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mobrobot Messages postés 182 Statut Membre 1
     
    sa fonction sa m'affiche le pseudo de la personne connecter. Mais quand je me déconnecter il rester toujours affiche sur la page
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      Tu fais quoi pour te déconnecter ? Quel code ??
      0
    2. mobrobot Messages postés 182 Statut Membre 1
       
      voici la page de déconnexion
      session_start();
       //setcookie("pseudo"," ",time()-3600);
       //setcookie("pass"," ",time()-3600);
       $_SESSION = array();
       session_destroy();
       header("Location: connecter.php");


      j'ai mis les
      setcookie
      en commentaire pars que il n'arrive pas aussi a effacée le pseudo de la personne connecter et le mot de passe dans optiondéveloppement ...
      0
    3. mobrobot Messages postés 182 Statut Membre 1
       
      Je suis vraiment dessolé l'erreur venait de moi dans mon lien de déconnexion. j'vais mis a la place de déconnecter -> connecter
      1000mille merci a toi jordane45 de m'avoir aidez a résoudre ce problème.
      0