Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1005 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  authentification

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

authentification

n°1570006
teycir
Posté le 04-06-2007 à 20:44:27  profilanswer
 

Bonjour;
J'essaye de créer un script qui permet à une personne d'être authentifiée pour accéder à une page.
Je suis sous wamp et dreamweaver v9.
J'ai créé la base sous phpmyadmin et fait insérer un couple de login/pass.
La page d'accueil mest sensée mener vers log.php sensée à son tour rediriger l'internaute en fonction de son mot de passe et login :
s'il est correct -> page reussite.html sinon -> page erreur.htm
Mon problème : je suis bloqué sur log.php qui reste une page vide.
Voyez vous l'erreur? Merci.
 

Code :
  1. <?php
  2. //définir les paramètres
  3. define("MYHOST","localhost" );
  4. define("MYUSER","root" );
  5. define("MYPASS","" );
  6. define("MYBASE", "authentification" );
  7. define("MYTABLE", "client" );
  8. //vérifier si les données sont postées
  9. if(isset($_POST['login']) && isset($_POST['pass']))
  10. {
  11.     $login=mysql_escape_string($_POST['login']);
  12.     $pass=mysql_escape_string($_POST['pass']);
  13. }
  14. else
  15. {
  16.     echo "mot de passe ou login manquants";
  17. }
  18. //se connecter à la base
  19. $idcom=@mysql_connect(MYHOST,MYUSER,MYPASS,MYBASE,MYTABLE);
  20. if(!$idcom)
  21. {
  22.     echo "Connexion impossible à la base";
  23. }
  24. //faire une requête
  25. $requete="select * from client where login='$login' AND pass='$pass'";
  26. $idresult=@mysql_query($requete,$idcom);
  27. //évaluer les résultats de la requête  
  28. if(!idresult)
  29. {
  30.     header("Location: erreur.htm" ); // redirection à la page d'échec
  31. }
  32. else
  33. {
  34.      header("Location: reussite.html" ); // redirection à la page d'accès
  35. }
  36. //fermer la connexion à la base
  37. mysql_close($idcom);
  38. ?>

mood
Publicité
Posté le 04-06-2007 à 20:44:27  profilanswer
 

n°1570007
esox_ch
Posté le 04-06-2007 à 20:47:11  profilanswer
 

Parce que mysql_query retourne pas ce que tu t'attends ... Va voir des exemples dans la doc (php.net) et regarde du côté de mysql_fetch_array

n°1570013
Zorro561
Posté le 04-06-2007 à 21:01:09  profilanswer
 

Hum, ça vient pas plutôt du mysql_connect, qui englobe tout ?
Perso j'aurais fait ça:

Code :
  1. mysql_connect("host","login","pass" );
  2. mysql_select_db("base" );

Message cité 1 fois
Message édité par Zorro561 le 04-06-2007 à 21:02:18
n°1570018
teycir
Posté le 04-06-2007 à 21:07:41  profilanswer
 

esox_ch a écrit :

Parce que mysql_query retourne pas ce que tu t'attends ... Va voir des exemples dans la doc (php.net) et regarde du côté de mysql_fetch_array


 
J'ai vu les exemples de php.net, mais je ne sais pas comment utiliser mysql_fetch_row dans ce cas.

n°1570020
esox_ch
Posté le 04-06-2007 à 21:22:05  profilanswer
 

Zorro561 a écrit :

Hum, ça vient pas plutôt du mysql_connect, qui englobe tout ?
Perso j'aurais fait ça:

Code :
  1. mysql_connect("host","login","pass" );
  2. mysql_select_db("base" );



 
Tout à fait, j'avais pas fait gaffe ...
 
 
@teycir : Pourtant ton exemple est identique à beaucoup d'autres donnés sur le web ... cherche un peu ... lit ... parce que le script que tu as pondu est un peu à côté de la plaque ...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1570023
teycir
Posté le 04-06-2007 à 21:43:40  profilanswer
 

esox_ch a écrit :

Tout à fait, j'avais pas fait gaffe ...
 
 
@teycir : Pourtant ton exemple est identique à beaucoup d'autres donnés sur le web ... cherche un peu ... lit ... parce que le script que tu as pondu est un peu à côté de la plaque ...


 
 
J'ai refait le code et j'ai toujours le même problème.
 

Code :
  1. <?php
  2. //vérifier si les données sont postées
  3. if(isset($_POST['login']) && isset($_POST['pass']))
  4. {
  5.     $login=mysql_escape_string($_POST['login']);
  6.     $pass=mysql_escape_string($_POST['pass']);
  7. }
  8. else
  9. {
  10.     echo "mot de passe ou login manquants";
  11. }
  12. //se connecter à la base
  13. mysql_connect("localhost", "mysql_user", "mysql_password" ) or
  14. die("Impossible de se connecter : " . mysql_error());
  15. mysql_select_db("authentifier" );
  16. //faire une requête
  17. $requete="select * from client where login='$login' AND pass='$pass'";
  18. $result=@mysql_query($requete);
  19. if(!$result)
  20. {
  21.    echo 'Impossible d\'exécuter la requête : ' . mysql_error();
  22.    exit;
  23. }
  24. //aller chercher la ligne de requête
  25. $row = mysql_fetch_row($result);
  26. //si on ne la trouve pas
  27. if(!$row)
  28. {
  29.      header("Location: erreur.htm" ); // redirection à la page erreur
  30. }
  31. //sinon
  32. else
  33. {
  34.      header("Location: reussite.html" ); // redirection à la page reussite
  35. }
  36. //liberation de mémoire
  37. mysql_free_result($result);
  38. ?>

n°1570026
theredled
● REC
Posté le 04-06-2007 à 21:54:08  profilanswer
 

teycir a écrit :


Mon problème : je suis bloqué sur log.php qui reste une page vide.


Si tu regardes la source, ya rien non plus ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1570030
teycir
Posté le 04-06-2007 à 22:09:04  profilanswer
 

theredled a écrit :

Si tu regardes la source, ya rien non plus ?


 
J'ai fait une toute petite modif pour mysql connect, mais j'ai toujours la page vide sous dreamweaver v9.
Ma base est pourtant bien créé et mon wamp marche à 100%.
Sous zend studio 5.5 j'ai le message d'erreur suivant :
mot de passe ou login manquants
Warning: Cannot modify header information - headers already sent by (output started at E:\Documents and Settings\teycir\Bureau\exo_authentification\log.php:15) in E:\Documents and Settings\teycir\Bureau\exo_authentification\log.php on line 38
Mais c'est normal, je suis sous débogeur interne.
 

Code :
  1. <?php
  2. //définition des paramètres
  3. define("MYHOST","localhost" );
  4. define("MYUSER","root" );
  5. define("MYPASS","" );
  6. //vérifier si les données sont postées
  7. if(isset($_POST['login']) && isset($_POST['pass']))
  8. {
  9.     $login=mysql_escape_string($_POST['login']);
  10.     $pass=mysql_escape_string($_POST['pass']);
  11. }
  12. else
  13. {
  14.     echo "mot de passe ou login manquants";
  15. }
  16. //se connecter à la base
  17. mysql_connect(MYHOST, MYUSER, MYPASS) or
  18. die("Impossible de se connecter : " . mysql_error());
  19. mysql_select_db("authentifier" );
  20. //faire une requête
  21. $requete="select * from client where login='$login' AND password='$pass'";
  22. $result=@mysql_query($requete);
  23. if(!$result)
  24. {
  25.    echo 'Impossible d\'exécuter la requête : ' . mysql_error();
  26.    exit;
  27. }
  28. //aller chercher la ligne de requête
  29. $row = mysql_fetch_row($result);
  30. //si on ne la trouve pas
  31. if(!$row)
  32. {
  33.      header("Location: erreur.htm" ); // redirection à la page erreur
  34. }
  35. //sinon
  36. else
  37. {
  38.      header("Location: reussite.html" ); // redirection à la page reussite
  39. }
  40. //liberation de mémoire
  41. mysql_free_result($result);
  42. ?>


Message édité par teycir le 04-06-2007 à 22:13:57
n°1570037
esox_ch
Posté le 04-06-2007 à 22:36:37  profilanswer
 

Ok, maintenant tu arrêtes de jouer au con, tu vas lire la doc et tu reviens quand tu as compris ... Parce qu'il y a des exemples qui à peine retouchés font ce que tu as besoin ...
Et par la même occasion tu vas te renseigner sur comment on fait pour mettre l'error_reporting à une valeur convenable pour avoir des messages d'erreur dans ton WAMP pour voir où il te dit que ça coince.

n°1570054
teycir
Posté le 04-06-2007 à 23:04:15  profilanswer
 

esox_ch a écrit :

Ok, maintenant tu arrêtes de jouer au con, tu vas lire la doc et tu reviens quand tu as compris ... Parce qu'il y a des exemples qui à peine retouchés font ce que tu as besoin ...
Et par la même occasion tu vas te renseigner sur comment on fait pour mettre l'error_reporting à une valeur convenable pour avoir des messages d'erreur dans ton WAMP pour voir où il te dit que ça coince.


 
Ah bon, si c'est aussi simple que cela pourquoi tu n'indiques pas comment résoudre le problème?  
Arrête de polluer ce thread stp, ou apporte qqchse de constructif.

mood
Publicité
Posté le 04-06-2007 à 23:04:15  profilanswer
 

n°1570061
esox_ch
Posté le 04-06-2007 à 23:42:12  profilanswer
 

Tu vas sur google, tu entres "php mysql_query" tu prends le 1er lien (Tiens ... la doc justement) et tu as TOUT ce qu'il faut pour que ça marche.  
Après pour le error reporting je te conseille d'utiliser les mots magiques "php error_reporting" et de choisir le ... 1er lien (Tiens ... le manuel !!)
 
Si tu arrives pas avec ça, arrête la prog et teste qqch de mieux approprié à tes capacités :spamafote:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  authentification

 

Sujets relatifs
Problème d'authentification pour accès à une base SQLAuthentification windows: comment faire un logout ?
[HTACCESS/Résolu] Authentification conditionnéeAuthentification sur un site et détection de boulets
PHP+JS => Authentification par challangeUne Form base authentification en utilisant les LoginModules de Jboss
[résolu]Authentification php surprenante...Conseil/Info sur l'authentification ou pas !
Authentification sans session. [Résolu] 
Plus de sujets relatifs à : authentification


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR