Bonjour
Dans un précédent, j'avais un problème de formulaire sécurisée qui ne devait donner accés à une page caché qu'a 2 valeurs possible. Le problème fut résolué puisque l'une des 2 valeurs permettait donc l'accés à la page et pas autre chose.
Ce que j'aurai souhaité c'est faire apparaître ensuite dans la page cachée LA valeur qui à permise l'accés... soit la valeur qui est dans $_SESSION.
Or le problème c'est que dans la page cachée, même si j'y accède avec la deuxième valeure possible, le "echo" renvoi toujours la première valeure... et je ne comprends pas pourquoi.
Je vous met ici mes codes pour être plus simple.
Donc en fait il s'agit de 2 pages, la page login.php et privatepage.php
Login.php :
Et la page private.php :
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 <?php session_start(); $val1="alain"; $val2="roger"; if (isset($_POST['bouton'])) { if ($_POST['code'] == $val1 OR $_POST['code'] == $val2) { $_SESSION['code']=$val1 OR $_SESSION['code']=$val2; header ("Location:privatepage.php"); } else { $erreur="Le code n'est pas bon"; } } ?> <!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 nom</title> </head> <body> <?php if(isset($erreur)) { echo "<h3>".$erreur."</h3>"; } ?> <form id="monform" name="form1" method="post" action="login.php"> <p> <label>Code : <input type="text" name="code" /> </label> </p> <p> <label> <input type="submit" name="bouton" value="Envoyer" /> </label> </p> </form> </body> </html>
Donc comme vous pouvez le voir dans le login.php, je peux accéder à ma page private soit par la valeure "alain", soit "roger".
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 session_start(); if(!isset($_SESSION['code'])) { header("Location:login.php"); } else { echo ($_SESSION['code']); } ?> <!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 nom</title> </head> <body> <h1> PRIVATE PAGE OF ME </h1> <?php unset($_SESSION['code']); ?> </form> </body> </html>
Le but étant ensuite de retrouver la valeure passée dans la page privée.
Seulement voila.. Même quand j'y accède avec la valeure "roger"... le echo de la privateopage me renvoi "alain".
Vous noterai également au passage que dans la privatepage... à la fin, je prend soin de supprimer la session... donc je ne comprends vraiment pas.
Partager