bonjour à tous,

j'ai un formulaire d'authentification pour accéder à la partie administrateur d'un site internet (index.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
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");
?>
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
 
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;
  }
}
si l'administrateur s'est connecté correctement, normalement dans la session le login est enregistré.
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 :

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 n’existe pas,
  // donc l'utilisateur n'est pas authentifié
  // On redirige sur la page permettant de s’authentifier
  header('Location: ./index.php') ;
  // on arrête l'exécution
  exit() ;
}
est ce que quelqu'un pourrait me dire si je me suis trompée quelquepart pour l'enregistrement de la session ?

merci d'avance