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 :
Cette fenêtre envoie ensuite à auth.php ce qu'à inscrit le membre en identifiant et mot de passe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Celle-ci fonctionne aussi comme vous pouvez le voir avec mes commentaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } ?>
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 !
Pourriez-vous m'aider SVP ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Merci beaucoup d'avance à tous.
Partager