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

Résolu/Fermé
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 - 19 déc. 2017 à 17:42
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 - 20 déc. 2017 à 17:43
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.
A voir également:

5 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié le 19 déc. 2017 à 17:53
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
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
19 déc. 2017 à 19:38
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
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
19 déc. 2017 à 19:43
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
19 déc. 2017 à 20:44
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
19 déc. 2017 à 20:48
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
19 déc. 2017 à 23:01
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
19 déc. 2017 à 23:20
Tu fais quoi pour te déconnecter ? Quel code ??
0
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
Modifié le 20 déc. 2017 à 06:41
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
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
Modifié le 20 déc. 2017 à 17:46
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