SEESSION EN PHP

Messages postés
8
Date d'inscription
jeudi 16 août 2018
Dernière intervention
19 août 2018
- - Dernière réponse : mahammedibrahim
Messages postés
8
Date d'inscription
jeudi 16 août 2018
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
Afficher la suite 

Votre réponse

2 réponses

Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
0
Merci
Tu as bien un session_start sur toutes tes pages ?
mahammedibrahim
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Dernière intervention
19 août 2018
-
oui
jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
-
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
Commenter la réponse de jordane45
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Dernière intervention
19 août 2018
0
Merci


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

?>


jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
-
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
mahammedibrahim
Messages postés
8
Date d'inscription
jeudi 16 août 2018
Dernière intervention
19 août 2018
-
merci beaucoup vos informations sont très utiles et précises
Commenter la réponse de mahammedibrahim

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.