Bonjour,
Mon probleme est simple.
A partir d'un formulaire l'utilisateur peut acceder a son compte(securise)

Mon probleme est que je n'arrive pas a acceder a la page pub(espace membre).
JE crois que tout est ds des fonctions comme necessite_identification et is_identifie(Que j'ai pas ou/et je n'arrive pas a faire)

voila mon code ;

Le formulaire(qui marche bien)
Code html : 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
<div class="element_menu">
             <div id="sous_menu"><img src="images/stars.jpg" width="30" height="20" border="0" align="left" /> <h3>Pro access</h3> </div>
 
 
         <form method="post" action="<?=$_SERVER['PHP_SELF']?>?action=log">
   <p>
       <label for="Username">Username :</label>
       <input type="text" name="login" id="login" style="width:120px"  />
 
       <br />
       <label for="Password">Password :</label>
       <input type="password" name="pass" id="pass" style="width:120px" />
 
   </p>
   <p>
       <input type="submit" value="Login"/>
   </p>
</form></div>
<?php if (isset($message_erreur)) {echo "<p class=\"errorMessage\">".$message_erreur."</p>";}?>
 
</div>

CE qui se passe quand on valide:
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
<?php if (est_identifie()) {
 
                $goto = "./pubs.php";
 
        header("Location: ".$goto);
        die;
}
?>
<?php
$message_erreur = "";
if (isset($_GET['action']) && $_GET['action'] == "log")
{
 
        $login=addslashes($_POST['login']);
        $pass=addslashes($_POST['pass']);
        $utilisateur = verifier_authentification($login,$pass);
        if ($utilisateur) {
                $_SESSION['utilisateur'] = $utilisateur;
                $_SESSION["ip"] = $_SERVER['REMOTE_ADDR'];
                $_SESSION["url"] = $_SERVER['HTTP_HOST'];
 
                /*
                 * Si wantsurl est défini, alors on se redirige vers cette page sinon
                 * on revient à la page d'accueil
                 */
 
                if (empty($_SESSION['wantsurl'])) {
 
                                $goto = "./pubs.php";
 
                } else {
                        $goto = $_SESSION['wantsurl'];
                }
 
                header("Location: ".$goto);
                die;
 
        } else {
 
                $message_erreur .= "Login et/ou mot de passe incorrect(s) - Veuillez essayer à nouveau.";
        }
}
?>
les fonctions que j'utilise:
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
 
<?PHP
 
 
 
function est_identifie() {
 
/* Retourne true si l'utilisateur des identifie */
 
global $SESSION, $REMOTE_ADDR;
 
return isset($SESSION)
 
&& isset($SESSION["login"])
 
&& isset($SESSION["ip"])
 
&& $SESSION["ip"] == $REMOTE_ADDR;
 
}
 
function necessite_identification() {
 
/* Cette fonction vérifie si l'utilisateur est identifié. Si non affiche

* l'écran d'authentification avant de laisser l'utilisateur continuer */
 
global $SESSION, $dossier_www, $PHP_SELF;
 
if (! est_identifie()) {
 
$SESSION["wantsurl"] = $PHP_SELF;
 
echo "Access denied!!!!!!";
 
die;
 
}
 
}
function verifier_authentification($login, $pass) {
 /* Vérifie le nom d'utilisateur et le mot de passe. S'ils sont valides, renvoie un
 * tableau avec les infos de l'utilisateur */
 
 $requete = "SELECT * FROM Users WHERE username = '$login' AND password = '$pass'";
 $qid = mysql_query($requete)
  or die("Erreur lors de l'exécution de la requête111111: ".mysql_error());
 
 $num=mysql_num_rows($qid);
 
 if (mysql_num_rows($qid) ==1 ) {
 
 return mysql_fetch_array($qid);
 }
 else {
 
 return;
 }
 }
?>
Resultat,j'arrive bien a me connecter puisque j'ai une redirection vers pubs.php,mais vu que pubs.php commence par necessite_identification();
J'ai le message d'erreur access denied!!!! Preuve que je ne suis pas identifier.
Est ce que quelqu'un aurait un conseil a me donner pour me debloquer!!!!
Merci beaucoup
(dsl pour les accents j'utilises un clavier anglais lol)