Variables de sessions qui disparaissent
Bonjour à tous...
J'ai un problème absolûment agaçant en ce moment : mes variables de sessions ne passent pas d'une page PHP à l'autre. Je m'explique :
le contexte est une base de données qui permet de se connecter en anonyme ou en tant que membre inscrit.
le coté membre anonyme fonctionne, vous l'aurez compris, je m'attaque maintenant aux scripts pour membre inscrit.
Pour la partie membre :
Je pars d'une fenêtre de login classique :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<?php
include "commun/connexion.inc.php";
//include "commun/auth-config.php";
//include "commun/authcheck.php";
?>
<HTML>
<HEAD>
<TITLE>Gestion des opérations</TITLE>
<META http-equiv="Content-Language" content="fr">
<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
</HEAD>
<BODY bottommargin="0" topmargin="20" leftmargin="20" rightmargin="0">
<B>Titre</B><BR><BR>
<FORM name="index3" method="post" action="auth.php">
Identifiant : <input type = "text" name="Identifiant"/><br/>
Mot de passe : <input type = "password" name="Password"/><br/>
<input type="submit" name="valider" value="Connection">
</FORM>
</BODY>
</HTML> |
Cette fenêtre envoie ensuite à auth.php ce qu'à inscrit le membre en identifiant et mot de passe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
include "commun/connexion.inc.php";
//include "commun/auth-config.php";
//include "commun/authcheck.php";
//session_start();
if (!IsSet($_POST['Password'])){ /*Pas de password saisi*/
$auth=0;
$user="moi";
$pass="";
/*On donne ici, les accès de consultation uniquement*/
header("Location : index2.php");
}
$pass=$_POST['Password'];
if (!IsSet($_POST['Identifiant'])){ /*Pas de pseudo saisi*/
header("Location : index2.php");
}
$user=$_POST['Identifiant'];
if (IsSet($_POST['Identifiant']) AND IsSet($_POST['Password'])){
$sql = "SELECT * FROM utilisateur WHERE
Identifiant ='".$_POST['Identifiant']."' and Password='".$_POST['Password']."'";
$resultat=mysql_query($sql,$id_link) or die("erreur MySQL :" .mysql_error());
$nombre=mysql_num_rows($resultat);
$enreg=mysql_fetch_array($resultat);
$n_district=$enreg["N0_District"];
if (!$nombre || $nombre<1){ /*Password ou Identifiant faux*/
echo 'Votre identifiant et/ou votre mot de passe sont faux.<br />
Vous serez en mode de consultation libre uniquement.';
require ('index2.php');
exit;
}
/*Saisie profil*/
elseif ($nombre>1 || $nombre<=3){
//Ouvrir les formulaires auxquels l'utilisateur à accès en fonction de sa qualité
$_SESSION['IDinscrit']=$user;
$_SESSION['Passinscrit']=$pass;
$_SESSION['last_access']=time();
//echo 'Bonjour '.$user.' !'; /*Les vars sont OK ici aussi*/
//echo 'Coucou '.$_SESSION['IDinscrit'].' !!';
require ('consult_m.php');
exit;
}
mysql_close();
}
?> |
Celle-ci fonctionne aussi comme vous pouvez le voir avec mes commentaires.
Enfin, j'arrive sur la fenêtre consult_m.php qui correspond à une page pour les membres inscrits uniquement et c'est là que çà ce corse : Elle ne voit pas les variables de sessions !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
<?php
include "commun/connexion.inc.php";
session_start();
//include "commun/auth-config.php";
//include "commun/authcheck.php";
?>
<HTML>
<HEAD>
<SCRIPT language='javascript'>
function ValideFiltre(Formulaire)
{
Formulaire.submit();
}
</SCRIPT>
<TITLE>Gestion des opérations</TITLE>
<META http-equiv="Content-Language" content="fr">
<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
</HEAD>
<BODY bottommargin="0" topmargin="20" leftmargin="20" rightmargin="0">
<B>Titre </B><BR><BR>
<?php
$user=$_POST['Identifiant'];
$pass=$_POST['Password'];
//echo 'Coucou '.$_SESSION['IDincrit'].' !!';
/*Connexion membre*/
if (IsSet($_GET['sDistrict'])){
$_SESSION["N0_District"]=$_GET['sDistrict'];
}else{
$_SESSION["N0_District"]=isset($_SESSION["N0_District"]) ? $_SESSION["N0_District"] :1;
}
if (IsSet($_GET['sDomaine'])){
$_SESSION["N0_Domaine"]=$_GET['sDomaine'];
}else{
$_SESSION["N0_Domaine"]=isset($_SESSION["N0_Domaine"]) ? $_SESSION["N0_Domaine"] :1;
}
if (IsSet($_GET['sUC'])){
$_SESSION["N0_UC"]=$_GET['sUC'];
}else{
$_SESSION["N0_UC"]=isset($_SESSION["N0_UC"]) ? $_SESSION["N0_UC"] :1;
}
if (IsSet($_GET['sUser'])){
$_SESSION["N0_Utilisateur"]=$_GET['sUser'];
}else{
$_SESSION["N0_Utilisateur"]=isset($_SESSION["N0_Utilisateur"]) ? $_SESSION["N0_Utilisateur"] :1;
}
if (IsSet($_GET['sMO'])){
$_SESSION["N0_moe"]=$_GET['sMO'];
}else{
$_SESSION["N0_moe"]=isset($_SESSION["N0_moe"]) ? $_SESSION["N0_moe"] :1;
}
$district=$_SESSION["N0_District"];
$domaine=$_SESSION["N0_Domaine"];
$UC=$_SESSION["N0_UC"];
$User=$_SESSION["N0_Utilisateur"];
$MO=$_SESSION["N0_moe"];
if(IsSet($_SESSION['IDinscrit']) And IsSet($_SESSION['Passinscrit'])){
echo 'Elles existent...';
//$user=$_POST['Identifiant']; //Vars bien récupérées
//$pass=$_POST['Password'];
$user=$_SESSION["IDinscrit"];
$pass=$_SESSION["Passinscrit"];
echo $user;
echo $pass;
print_r($_SESSION);
//mysql_connect("localhost",$user,$pass); //PB de connection
//mysql_select_db("GESTION2");
.....
}
?>
</BODY>
</HTML> |
Pourriez-vous m'aider SVP ?
Merci beaucoup d'avance à tous.