Se connecter / S'enregistrer
Votre question

Prob avec Script authentification en php

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
Anonyme
21 Août 2005 19:01:02

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.

Autres pages sur : prob script authentification php

Anonyme
22 Août 2005 10:02:56

svp, personne pour m'aider ??
22 Août 2005 10:19:46

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

Anonyme
22 Août 2005 15:50:48

jai pas trop capté, j'ai essayé comme ça
  1. if ((!isset($_SERVER['PHP_AUTH_USER']))|| (!isset($_POST['ReLog'])|| ($_POST['ReLog']==1)))


ça marche pas; imposible de se connecter a la base.

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS