SEESSION EN PHP

Signaler
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
19 août 2018
-
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
19 août 2018
-
Salut, j'ai un problème de mon site web il est basé sur les sessions en Php ; il fonctionne très bien alors l'authentification d'un utilisateur mais le problème se pose quand j'ouvre un nouvel onglet et je fais l'authentification d'un autre utilisateur qui ne comporte pas la même variable de la session de 1 utilisateur ex : premier utilisateur:$_SESSION['DIRECTRICE'] = $_POST['directrice'];
ex: deuxième utilisateur :$_SESSION['SERVICE'] = $_POST['service'];
si j'actualise l'ancienne page le résultat est :erreur variable de session introuvable

2 réponses

Messages postés
32457
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mai 2021
347
Tu as bien un session_start sur toutes tes pages ?
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
19 août 2018

oui
Messages postés
32457
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mai 2021
347
Faut que tu nous montres tes codes sinon on ne pourra pas t'aider.
Nb : pour poster correctement du code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
19 août 2018



<?php
SESSION_START();
 $directrice = $_POST['directrice'];
$passe = $_POST['password'];

include ("bdd.php");

$reponse=$bdd->query('SELECT * FROM tdirectrice WHERE SERVICE=\''.$directrice.'\' AND PASSE=\''.$_POST['password'].'\'   ');
$donnees=$reponse->fetch();
if(empty($_POST['directrice']) || (empty($_POST['password'])))

 { 
  
}
else if($donnees['PASSE']==($_POST['password'])){
 

$_SESSION['DIRECTRICE'] = $_POST['directrice'];

header('location:acceuildirectrice.php');


}
else {
 
header('location: index.html');
}

?>
<html>

<meta charset="utf-8">


//PAGE ACCEUIL:
<?php
SESSION_START();
?>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="styleformservice.css">
</head>
<?php
include("enteteimgdefault.php");
include("entetemenudirectrice.php");
?>
<BR>
<table border="1" bgcolor="lightblue"align="right">
 

 <tr>

<td><input type="text"  value="<?php  echo $_SESSION["DIRECTRICE"];  ?>" disabled="disabled" align="right"></td>
<td><b>  :  المصلحة المتصلة   </b></td>
 </tr>
</table>

?>


Messages postés
32457
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mai 2021
347
Ton erreur se situe au niveau de tes variables POST et non de session.
Le message d'erreur doit certainement te parler de "undefined index..."

Voici comment écrire proprement ton code ( je suis parti du principe que tu étais en PDO )
<?php
session_start();

//connexion à la bdd
require_once ("bdd.php");

//récupération PROPRE des variables AVANT de les utiliser
$directrice = !empty($_POST['directrice']) ? $_POST['directrice'] : NULL;
$password =  !empty($_POST['password']) ? $_POST['password'] : NULL;

if($directrice && $password){
  $sql = 'SELECT * 
          FROM tdirectrice 
          WHERE SERVICE= :service 
          AND PASSE= :pass';
  $datas = array(':service'=>$service , ':pass'=>$password);
  
  //exécution de la requete
  try{
    $prep =$bdd->prepare($sql);
    $prep->execute($datas);
    $donnees=$prep->fetch();
    if(!empty($donnees)){
      $_SESSION['DIRECTRICE'] = $directrice;
      header('location:acceuildirectrice.php');
      exit(); //toujours mettre un exit après une redirection
    }else{
      header('location: index.html');
      exit(); //toujours mettre un exit après une redirection
    }  
  }catch(Exception $e){
    echo "Erreur ".$e->getMessage();; 
  }
}



Au passage... je t'invite à lire et à appliquer ce qui se trouve ici :
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et là :
http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Statut
Membre
Dernière intervention
19 août 2018

merci beaucoup vos informations sont très utiles et précises