bonjour à tous,
j'ai un formulaire d'authentification pour accéder à la partie administrateur d'un site internet (index.php) :
voici la fonction verification($login,$mdp)
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 <?php include ($_SERVER['DOCUMENT_ROOT']."/administrateur/function.php") ; $message = ""; if (isset($_POST['valider'])) { // initialisation de la session session_start() ; // si on a reçu les données d'un formulaire : if ( !empty( $_POST['login'] ) && !empty( $_POST['motdepasse'] ) ) { // on les récupère $login = $_POST['login'] ; $motdepasse = $_POST['motdepasse'] ; // on teste si le mot de passe est valide : if ( verification($login,$motdepasse ) ) { session_register("authentification"); // enregistrement de la session // on sauvegarde donc son nom dans la session $_SESSION['login'] = $login ; header('Location: ./accueil.php') ; } else { // sinon on avertit l'utilisateur : $message = 'Mauvais mot de passe' ; } } else { // un des champs n'est pas rempli $message = 'le login ou le mot de passe est vide' ; } } include ($_SERVER['DOCUMENT_ROOT']."/include/header.php"); ?> <div id='content'> <div id='centre'> <h1>Espace Administrateur</h1> <h2>Identification</h2> <?php echo $message; ?> <form method="post" action="./"> <p> <label for="nom">Pseudo : </label> <input type="text" name="login"> </p> <p> <label for="motdepasse">Mot de passe : </label> <input type="password" name="motdepasse"> </p> <p> <input type="submit" name="valider" value="s'identifier"> </p> </form> </div> <?php include ($_SERVER['DOCUMENT_ROOT']."/include/footer.php"); ?>
si l'administrateur s'est connecté correctement, normalement dans la session le login est enregistré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function verification($nom,$pass){ $sql = ("SELECT * FROM administrateur where login='$nom' and mdp='$pass'"); // Exécution de la requête SQL $result = mysql_query($sql); if(mysql_num_rows($result)>0){ return TRUE; }else{ return FALSE; } }
Hors dans chacune de mes pages qui ont besoin d'être sécurisées, la session n'est pas reconnue et donc elles sont toutes redirigées vers index.php :
est ce que quelqu'un pourrait me dire si je me suis trompée quelquepart pour l'enregistrement de la session ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // on vérifie si l'utilisateur est identifié if ((!session_is_registered("authentification")) && (!isset($_SESSION['login']))){ // la variable de session nexiste pas, // donc l'utilisateur n'est pas authentifié // On redirige sur la page permettant de sauthentifier header('Location: ./index.php') ; // on arrête l'exécution exit() ; }
merci d'avance
Partager