Bonjour, j'essaie de faire un système d'authentification pour un backoffice (jamais fait).
Et j'ai du mal à saisir le principe des variables $_SESSION, j'ai regardé sur le site php manual,
ce sont des variables qui tout le long de la session gardent en mémoire le login et mot de passe?
Et est ce qu'il faut la détruire à la fin, car dans mon code, quoique je fasse il se connecte, même si c'est pas les bons codes.
Et sur php manual ils disent :
Voici mon codeN'utilisez PAS la fonction unset() avec $_SESSION sous la forme unset($_SESSION) sinon, cela rendra impossible l'enregistrement de données dans la session en utilisant la super-globale $_SESSION.
Les utilisateurs et noms de code sont présents dans la bdd.
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 <div id="content_identification"> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <div id="titre">Veuillez vous identifier</div> <div id="authentification"> <span id="champs">Nom d'utilisateur : </span><span id="input"><input type="text" name="login"></span><br/><br/> <span id="champs">Mot de passe : </span><span id="input"><input type="password" name="mdpass"></span><br/><br/> <span id="input"><input type="submit" value="valider"></span> </div> </form> </div> <?php if (isset($_POST['login'])){ $u="SELECT * FROM $backoffice.users WHERE login = '".$_POST['login']."' AND passe = '".$_POST['mdpass']."' ;"; $sql = mysql_query($u); //echo mysql_num_rows($sql); if (mysql_num_rows($sql)==1){ $m = mysql_fetch_array($sql); $_SESSION["user"] = $m['users']; $_SESSION["nomprenom"] = $m["prenom"]." ".$m["nom"]; } if (isset($_SESSION["user"])){ $url = "index2.php"; }else { $url="index.php?errlogin=true"; } echo '<script> document.location="'.$url.'";</script>'; } ?>
Pourquoi lorsque je teste mysql_num_rows($sql); (mis en commentaire dans le code), j'ai bien 0 lorsque je rentre n'importe quoi mais j'accède quand même à la page index2.php?
Merci.
Partager