Se connecter avec
S'enregistrer | Connectez-vous

Prob avec Script authentification en php

Dernière réponse : dans Programmation

salut a tous, j'ai utilisé un script d'authentification pour que les utilisateurs s'enregistrent pour acceder a l'administration. Seuls les utilisateurs enregistrés peuvent acceder a cette partie

voila mon code
  1. <?php
  2.  
  3. session_start();
  4. session_register("DBASE");
  5. session_register("USER");
  6. session_register("PASSWD");
  7.  
  8. $_SESSION["DBASE"]="parici";
  9.  
  10.  
  11. function validuser($login, $passwd)
  12. {
  13. //connexion à la base
  14.  
  15. $id_connex=mysql_connect("localhost","root","") or die("La connexion a echoué !");
  16. mysql_select_db($_SESSION["DBASE"], $id_connex);
  17.  
  18. $query = "SELEC LOGIN,MOTDEPASSE FROM COMPTESUTILISATEUR where LOGIN =\"".$login."\"";
  19.  
  20. $result= mysql_query($query,$id_connex);
  21.  
  22. $ligne= mysql_fetch_array($result);
  23.  
  24. if($ligne["MOTDEPASSE"]==$passwd)
  25. {
  26. $_SESSION["LOGIN"]=$login;
  27. $_SESSION["MOTDEPASSE"]=$passwd;
  28.  
  29. return true; //si authentification vérifiée, retourne vrai
  30. }
  31. else
  32. {
  33. return false; //sinon retourne faux
  34. }
  35. }//fin fonction
  36.  
  37.  
  38. ///////////////////////////////////////////////////////////
  39. //AUTHENTIFICATION HTTP
  40. ///////////////////////////////////////////////////////////
  41.  
  42. if ((!isset($_SERVER['PHP_AUTH_USER']))|| ($_POST['ReLog']==1))
  43. {
  44. header('WWW-Authenticate: Basic realm="Admin"');
  45. header('HTTP/1.0 401 Unauthorized');
  46. echo 'Veuillez vous identifiez';
  47. exit;
  48. }
  49. else
  50. {
  51. include 'fonctionsprat.php';
  52. if (validuser($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
  53. {
  54. echo"<h3>Authentification confirmée</h3>";
  55. redirect("index.php");
  56. }
  57. else
  58. {
  59. echo"<h3>Authentification échouée</h3>";
  60. echo"<form action ='{$_SERVER['PHP_SELF']}' method='POST'>\n";
  61.  
  62. echo"<input type='hidden' name='ReLog' value='1'>\n";
  63.  
  64. echo"<input type= 'submit' value='Login'>\n";
  65.  
  66. echo"</form>\n";
  67. }
  68. }
  69. ?>


Jai des ptits soucis. Quand je tape un bon login et un bon mot de passe, j'ai une erreur qui s'affiche "undefined index Relog, alors que celle variable est definie plus loin.J'accede quand meme a la bonne page.
Apres quand je tape un mauvais pass, la boite de dialogue se reaffiche et la, je tape le bon login et le bon pass, impossible d'acceder a la page d'admin.

Pouvez vous m'aidez a résoudre ces problemes merci.
Lassé par la pub ? Créez un compte

sur ce partie :

  1. ///////////////////////////////////////////////////////////
  2. //AUTHENTIFICATION HTTP
  3. ///////////////////////////////////////////////////////////
  4.  
  5. if ((!isset($_SERVER['PHP_AUTH_USER']))|| ($_POST['ReLog']==1))
  6. {
  7. header('WWW-Authenticate: Basic realm="Admin"');
  8. header('HTTP/1.0 401 Unauthorized');
  9. echo 'Veuillez vous identifiez';
  10. exit;
  11. }


quand tu fait un test sur ta variable relog (en post) tu ne verifi pas qu'elle existe ou non avant il fait rajouter un isset() dessus ;)  et l'erreur devrais disparaitre

Lassé par la pub ? Créez un compte
Tom's guide dans le monde