bonjour,
je vous l'avoue toute de suite, je suis néophyte en php et j'ai pris comme base un script espace membre, que je voudrais mettre sur mon site. le problème c'est que cela marche pas comme je le voudrais.
lorsque je rentre un login et un pass il y a 3 possibilités
- je rentre le bon login et pass et ca m'affiche bien la page sécurisé ok ca c'est bon
- si je entre le bon login et que je ne met rien dans pass ca ne passe pas ok c'est bon
- et inversement je met rien dans login et le bon pass ca passe pas ok c'est bon
-par contre je mets n'importe quoi dans login et pass alors là ca passe on arrive sur ma page sécurisée alors que cela ne devrait pas être le cas
donc voici mon code
1) page ou on entre login et pass
2) page de verrification
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 <?php if($action=="deconnexion") { session_start(); $_SESSION=array(); session_destroy(); } ?> <form action="verrif_login_forum.php" method="post" id="formulaire_login" name="formulaire_login"> <span style="position:absolute; margin-top:15px; margin-left:25px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"> Login : </span> <span style="position:absolute; margin-top:12px; margin-left:120px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"> <input type="text" name="edit_login"></span> <span style="position:absolute; margin-top:50px; margin-left:25px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"> Mot de passe : </span> <span style="position:absolute; margin-top:47px; margin-left:120px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"> <input type="password" name="edit_pass"></span> <span style="position:absolute; margin-top:100px; margin-left:68px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"> <input type="submit" name="connexion" value="Connexion" style="width:80px;"></span> <span style="position:absolute; margin-top:100px; margin-left:152px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"> <input type="reset" name="initialiser" value="Initialiser" style="width:80px;"></span> </form> </div><!-- fin class "cadre_login" --> </div><!-- fin class "texte_contenu" --> </div><!-- fin class "conteneur" --> </body> <script language="javascript" type="text/javascript"> <!-- document.formulaire_login.edit_login.focus(); // --> </script>
3) la page avec les données serveur
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 <? require("config_server.php"); if(isset($_POST) && !empty($_POST['edit_login']) && !empty($_POST['edit_pass'])) { extract($_POST); // on recupère le password de la table qui correspond au login du visiteur $sql = "select pass_md5 from clients where login='".$login."'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['edit_pass'] != $password) { echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="forum.php" </SCRIPT>'; exit; } else { session_start(); $_SESSION['login'] = $login; echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="membres.php" </SCRIPT>'; } } else { echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="forum.php" </SCRIPT>'; exit; } ?>
bon voilà le problème à mon avis vient du code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <? $host="serveur"; // localhost pour le local $user="";//nom d'utilisateur $pass="";//mot de pass $base="";//nom de la bases de données $connect=mysql_connect($host,$user,$pass); mysql_select_db($base, $connect); ?>
voilà dans le code ci dessus edit_login et edit_ doivent bien être le nom des champs du formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(isset($_POST) && !empty($_POST['edit_login']) && !empty($_POST['edit_pass'])) { extract($_POST);
et là
login est bien le champ de la base mais par contre $login correspond à quoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $sql = "select pass_md5 from clients where login='".$login."'";
et là la meme chose
à quoi correspond login et $ login
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 session_start(); $_SESSION['login'] = $login;
et là
à quoi corepondent edit_pass et $ password
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if($data['edit_pass'] != $password)
car c'est là que je pense qu'il y a qqch de pas normal
voilà après avoir lu ce roman, pouvez vous m'aider
merci







Répondre avec citation




Partager