SEESSION EN PHP

mahammedibrahim Messages postés 8 Date d'inscription jeudi 16 août 2018 Statut Membre Dernière intervention 19 août 2018 - 16 août 2018 à 17:58
mahammedibrahim Messages postés 8 Date d'inscription jeudi 16 août 2018 Statut Membre Dernière intervention 19 août 2018 - 19 août 2018 à 00:32
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

jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
16 août 2018 à 19:13
Tu as bien un session_start sur toutes tes pages ?
0
mahammedibrahim Messages postés 8 Date d'inscription jeudi 16 août 2018 Statut Membre Dernière intervention 19 août 2018
17 août 2018 à 00:16
oui
0
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
17 août 2018 à 01:05
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
0
mahammedibrahim Messages postés 8 Date d'inscription jeudi 16 août 2018 Statut Membre Dernière intervention 19 août 2018
Modifié le 17 août 2018 à 02:42


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

?>


0
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
17 août 2018 à 09:21
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
0
mahammedibrahim Messages postés 8 Date d'inscription jeudi 16 août 2018 Statut Membre Dernière intervention 19 août 2018
19 août 2018 à 00:32
merci beaucoup vos informations sont très utiles et précises
0
Rejoignez-nous