Débutant en php, probleme dans module de login...

Débutant en php, probleme dans module de login... - PHP - Programmation

Marsh Posté le 16-09-2004 à 20:53:24    

Bonjour a tous :)
Voila je me suis mis au php y'a pas longtemps et évidemment aujourd'hui j'ai besoin d'un module de login :)
malheureusement j'ai un problème, il fonctionne pas :'(
 
Je vous mets ici le code effectué après avoir soumis le formulaire de login...
 

Code :
  1. <?php
  2. session_start();
  3. require("function.inc.php" );
  4. $_SESSION['usrlogin'] = $_POST['usrlogin'];
  5. $_SESSION['usrpw'] = $_POST['usrpw'];
  6. ConnectDB("config.txt" );
  7. $usrlogin = $_SESSION['usrlogin'];
  8. /*
  9. ** Vérification des login/pass du user
  10. */
  11. $sql = "SELECT * FROM users_tbl WHERE users_login LIKE '$usrlogin'";
  12. $req = mysql_query($sql) or die ('ERREUR '.$sql.' '.mysql_error());
  13. $contenu = mysql_fetch_array($req);
  14. if( mysql_numrows($contenu) != 0 )
  15. {
  16.  if( $contenu['users_pw'] == $_SESSION['usrpw'] )
  17.   {
  18.    $_SESSION['usrid']=$contenu['users_id'];
  19.    if( $contenu['users_admin'] == "yes" )
  20.     {
  21.      $_SESSION['admin']="yes";
  22.     }
  23.    else
  24.     {
  25.      $_SESSION['admin']="no";
  26.     }
  27.   }
  28.  else
  29.   {
  30.    $_SESSION['loginerror'] = "Invalid Password";
  31.    header('location: index.php?page=login');
  32.   }
  33.  header('location: index.php?page=login');
  34. }
  35. else
  36. {
  37.  $_SESSION['loginerror'] = "Unknown User";
  38.  header('location: index.php?page=login');
  39. }
  40. ?>


 
Voila, je vois pas ou est le problème, mais appremment il ne passe jamais dans le if et tjs dans le else comme s'il ne trouvait aucun user de ce nom vu qu'il me renvoye tjs le message "Unknown User"...
Je suis pourtant sur du contenu de ma table users_tbl...
 
help :((

Reply

Marsh Posté le 16-09-2004 à 20:53:24   

Reply

Marsh Posté le 16-09-2004 à 21:44:02    

Ce test ne peut pas marcher :

Code :
  1. if( mysql_numrows($contenu) != 0 )


 
Car le paramètre passé à la fonction mysql_num_rows doit être le resultat du mysql_query.
 
Donc soit ton test c'est

Code :
  1. if( $contenu = mysql_fetch_array($req) )

(car mysql_fetch_array renvoie false si pas de résultat)
 
ou alors ça :

Code :
  1. if( mysql_num_rows($req)>0 )


 

Reply

Marsh Posté le 16-09-2004 à 21:50:14    

j'avais essayé

Code :
  1. if( mysql_num_rows($req) != 0 )


ca marchait pas :'(, enfin je vais tester tt ca de ce pas :) merci :D

Reply

Marsh Posté le 16-09-2004 à 21:58:48    

Aucun des deux ne fonctionne, il continue à passer dans le else...

Reply

Marsh Posté le 16-09-2004 à 22:00:12    

echo mysql_num_rows($req) voir

Reply

Marsh Posté le 16-09-2004 à 22:06:57    

Il me mets 0...
alors que quand je tape la meme requete dans phpMyAdmin, il me trouve bien mon enregistrement...

Reply

Marsh Posté le 16-09-2004 à 22:10:14    

fait un met un or die(mysql_error()) a la fin de ton mysql_query
 
et un echo $usrlogin :??:

Reply

Marsh Posté le 16-09-2004 à 22:16:14    

alors la la claque...
$usrlogin semble vide puisqu'il n'affiche rien...
 
pourtant vici le code de mon formulaire...

Code :
  1. <form action="login.do.php" method="post" name="login_form">&nbsp;
  2. <input type="text" size="22" maxlength="50" name="usrlogin" value="login">
  3. <input type="password" size="22" maxlength="50" name="usrpw" value="password">
  4.         <input type="image" src="img/buttons/submit.png" border=0 alt="Submit" align="bottom">


 
l'erreur viendrait-t-elle du fait que c'est une image qui soumet le fomulaire ?


Message édité par narnou le 16-09-2004 à 22:16:47
Reply

Marsh Posté le 16-09-2004 à 22:17:43    

echo $_POST["usrlogin"]
 
l'image n'y est pour rien, ce sont tes variable globales qui sont activé :)

Reply

Marsh Posté le 16-09-2004 à 22:22:35    

Euuuuh...
$_POST["usrlogin"] est vide aussi :|
 
En fait ce formulaire se trouve sur chaque page dans un pannel en haut, j'ai un autre formulaire sur une page spécifique au login dont voici le code :

Code :
  1. <form action="login.do.php" method="post" name="login_form">
  2. login : <input type="text" name="usrlogin" size="20"><br>
  3. pass : <input type="password" name="usrpw" size="20"><br>
  4. <input type="Submit" name="Submit" value="Envoyer" size="20">


et avec celui la ca fonctionne...
jcapte quedalle :(

Reply

Marsh Posté le 16-09-2004 à 22:22:35   

Reply

Marsh Posté le 16-09-2004 à 22:29:59    

OK c'est bon, je sais pas a quoi j'ai touché mais ca fonctionne...  j'y touche plus :D

Reply

Marsh Posté le 16-09-2004 à 22:35:11    

Merci a tous aquand meme bien sur :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed