Bonjour
J'ai un problème sur l'utilisation des variables de sessions, plutôt que d'essayer d'expliquer avec mots, je vais vous donnez un exemple sur lequel je bute, ça sera bien plus parlant
1er fichier: index.php - formulaire de connexion
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 <?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <form method="post" action="connectok.php"> <fieldset id="formconnect"> <legend id="titreform">Connexion</legend> <label for="login">login :</label><br /> <input type="text" name="login" id="login" /><br /> <label for="password">Password :</label><br /> <input type="password" name="password" id="password" /><br /><br /> <input type="checkbox" name="cookie" id="cookie"/> <label for="cookie">Me connecter automatiquement à mon prochain passage.</label><br/><br /> <input type="hidden" name="page" value="<?php echo htmlspecialchars($_SERVER['HTTP_REFERER']); ?>" /> <input type="submit" value="Connexion" /> </fieldset> </form> </body> </html>
2eme fichiers: connectok - teste les données du formulaire et crée mes variables de sessions.
3ème pages: test.php - c'est à partir d'ici que j'ai mon problème, je veux juste vérifié si je peux toujours utiliser les variables de session crée précédemment hors malheureusement elle ne s'affiche pas.
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 <?php $page = $_POST['page']; if (empty($_POST['login']) || empty($_POST['password']) ) { echo('<p>Une erreur c\'est produite pendant l\'autentification. Vous devez remplir tous les champs.Cliquez <a href="'.$page.'">ici</a> pour revenir à la page précédente</p>'); exit; } else { mysql_connect("localhost","root","*******"); mysql_select_db("base"); $login = mysql_escape_string($_POST['login']); $password = mysql_escape_string($_POST['password']); $req = mysql_query('SELECT pseudo, password, permission FROM utilisateur WHERE pseudo = "'.$login.'"') or die ('Erreur SQL !<br/>'. $sql.'<br />'.mysql_error()); $data =mysql_fetch_assoc($req); if ($data['password']!= $password) { echo('<p>Une erreur c\'est produite pendant votre identification. Le mot de passe ou le pseudo entré n est pas correcte. Cliquez <a href="'.$page.'">ici</a> pour revenir à la page précédente</p>'); exit; } else { $SESSION['login'] = $login; $SESSION['permission'] = $data['permission']; } } echo $SESSION['login']."<br />"; echo '<a href="test2.php">test session</a>'; ?>
Donc mon problème que je n'arrive pour l'instant pas à résoudre tout seul est que je n'arrive pas à afficher donc à exploiter ma variable de session $SESSION['login'] sur la page test.php .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php session_start(); echo $SESSION['login']; ?>
J'avoue que je ne vois pas d'où le problème peut venir. Est ce une histoire d'identifiant de la session qui ne serait pas transmis même si j'arrive à l'afficher sur la page connectok.php?
Enfin bref je vois pas trop d'où ça vient donc si une bonne âme veux bien m'aider je suis pas contre, merci d'avance.
Partager