Bonjour,
alors mon problème est dans le titre, tout simplement !
Maintenant je vais vous exposer mes sources au cas où vous y descelleriez une grossière erreur ....
Voici ma page principale :
Elle contient une partie login qui me servira pour la connexion au site.
Voici le code de la partie login :
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 <?php session_start(); ?> <html> <?php Require_once('./fonctions/connexion.php'); ?> <link rel="stylesheet" type="text/css" href="style/common.css"> <body> <head> <title>SVS - Accueil</title> </head> <center> <div id="site"> <div id="bandeau"> <?php include('./common/bandeau.php'); ?> </div> <div id="gauche"> <div id="login"> <?php include('./common/login.php'); ?> </div> <div id="menu"> <?php include('./common/menu.php'); ?> </div> </div> <div id="contenu"> <div><br><b>Bienvenue sur le site du Saint-Vallier Sportif RUGBY !</b></div> <div><?php include('./actualites/index.php'); ?></div> </div> <div id="droit"> <div id="shootbox"> <?php include('./common/shootbox.php'); ?> </div> <div id="encarts"> <?php include('./common/encarts.php'); ?> </div> </div> <div id="footer"> <?php include('./common/footer.php'); ?> </div> </div> </center> </body> </html>
Il s'agit d'un simple formulaire php (si on est loggé, affichage des identifiants, sinon affichage du formulaire)
Voici maintenant les sources de ma fonction de login appelé lors de la soumission du formulaire :
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 <fieldset> <legend>Accès membres</legend> <?php if(!isset($_SESSION['logged']) || $_SESSION['logged'] == "KO") { ?> <form method="post" action="./fonctions/login.php"> <div> <table> <tr> <td><input name="user" type="text" size="15px" value="Utilisateur"/></td> </tr> <tr> <td><input name="pass" type="password" size="15px" value="Mot de passe"/></td> </tr> </table> </div> <div style="margin-top:5px;" align="center"> <input type="submit" value="S'enregistrer"/> </div> </form> <?php } elseif($_SESSION['logged'] = "OK") { echo "<div>"; echo "<table><tr>"; echo "<td>".$_SESSION['user']."</td>"; echo "</tr><tr>"; echo "<td>".$_SESSION['droit']."</td>"; echo "</tr><tr>"; echo "<td><form method='post' action='./fonctions/unlog.php'><input type='submit' value='Se déconnecter'/></form></td>"; echo "</tr></table>"; echo "</div>"; } ?> </fieldset>
Tout à la fin, on recharge donc la page d'accueil qui contient le formulaire de login qui devrait détecter la variable de session et donc afficher les identifiants de l'utilisateur !
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 <?php Require_once('./connexion.php'); connexion(); $result = request('SELECT id_user, login_user, pwd_user, droit_user FROM users WHERE login_user = MD5("'.$_POST["user"].'") AND pwd_user = MD5("'.$_POST["pass"].'")'); $row = mysql_fetch_row($result); if($row[0] != null){ $_SESSION['logged'] = "OK" ; $_SESSION['user'] = $_POST["user"]; if($row[3] == "U"){ $_SESSION['droit'] = "Utilisateur simple"; } elseif($row[3] == "A") { $_SESSION['droit'] = "Administrateur"; } } else{ $_SESSION['logged'] = "KO"; } close_connexion(); header("Location: ".$_SERVER['HTTP_REFERER']); ?>
Mais non, c'est le formulaire de login qui s'affiche car la variable de session "logged" est absente ...
(J'ai fait un test et juste avant le header("Location: ".$_SERVER['HTTP_REFERER']);, j'ai bien toutes les variables de session renseigné correctement ...)
Je vous remercie d'avance pour l'aide et les conseils que vous m'apporterez !
Bizoo à tous !
Partager