Se connecter / S'enregistrer
Votre question

Aide authentification php

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
28 Septembre 2010 19:35:41

Bonjour à tous,

Tout d'abord je vous remercie de prendre pitié de moi :lol:  .
Bon j'ai un problème, qui va certainement vous paraitre stupide, mais qui handicape depuis un bon moment. En fait, je cherche à me connecter a ma base de données Mysql avec php afin de pouvoir s'identifier en tant qu'admin . Mais j'ai un souci apparemment =/.

Voici le code :

  1. // SCRIPT DE CONNEXION
  2. <?php
  3. $connexion = mysql_connect("localhost","root","");
  4. if ( ! $connexion )
  5. die ("connexion impossible");
  6. ?>


  1. // SELECTION BDD
  2. <?php
  3. include("connect.php");
  4.  
  5. $bdd="portfolio";
  6. mysql_select_db($bdd, $connexion);
  7. if ( ! $bdd )
  8. die ("connexion impossible");
  9. ?>


  1. // TEST IDENTIFIANTS
  2. <?php
  3.  
  4. include("connect.php");
  5.  
  6. $login=$_REQUEST["login"];
  7. $pwd=$_REQUEST["password"];
  8.  
  9. $result = mysql_query("select login from connect where login='$login' and password='$pwd'",$connexion);
  10. $ligne = mysql_fetch_array($result);
  11.  
  12. if($ligne == '')
  13. {
  14. echo'Identification invalide';
  15. }
  16. else
  17. {
  18. $_SESSION['connect']='YES';
  19. echo '<a href =\"admin.php\">jodaihno</a>';
  20. }
  21. ?>


Et le html :

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <FORM method=post action="testadmin.php">
  6. <h2>Connexion</h2>
  7. <br />
  8. <TABLE BORDER=0>
  9. <TR>
  10. <TD>Login</TD>
  11. <TD>
  12. <INPUT type=text name="login">
  13. </TD>
  14. </TR>
  15.  
  16. <TR>
  17. <TD>Password</TD>
  18. <TD>
  19. <INPUT type=password name="password" value="password">
  20. </TD>
  21. </TR>
  22.  
  23. <tr>
  24. <td>
  25. <input type=submit name="login" value="Connexion">
  26. </td>
  27. </tr>
  28. </TABLE>
  29. </FORM>
  30. </body>
  31. </html>



Bon voilà pour le code (ouf!). Désolé pour cet amas de choses certainement fausses.
Bien, alors maintenant mon fameux problème. Il semblerait que la connexion ne se fasse pas puisque, n'importe quels login et mot de passe que je rentre, cela ne marche pas. J'espère que quelqu'un aura une idée.
Merci d'avance aux courageux =).

(Ma base de données est composée d'une table "connect" avec les champs "login" et "password").

Autres pages sur : aide authentification php

28 Septembre 2010 20:29:28

Utilise mysql_error() pour connaitre l'erreur renvoyé par mysql :
  1. if ( ! $connexion )
  2. die ("connexion impossible : ".mysql_error());


Ensuite dans la page test identifiant, tu fais un include sur connect.php
Et tu aurais surement du inclure l'autre script qui sélectionne la base
m
0
l
a c 145 L Programmation
28 Septembre 2010 20:58:31

Tu inclus connect.php qui est le fichier de connexion au serveur, or tu dois inclure le second, qui lui-même inclut connexion.php.
Le mieux est de mettre les 2 premiers scripts dans le même fichier (connect.php) et ça devrait fonctionner.
m
0
l
Contenus similaires
29 Septembre 2010 20:44:38

Bonsoir et merci à vous deux pour vos réponses. J'ai fait ce que vous m'avez dit, mais je ne constate pas d'amélioration.

Peut-être que je verrais si cela marche si la redirection automatique vers la page admin fonctionnait, ce qui n'est pas le cas. Voyez-vous un problème avec mon lien ?
Merci d'avance.


  1. else
  2. {
  3. $_SESSION['connect']='YES';
  4. echo '<a href =\"admin.php\"></a>';
  5. }
  6. ?>
m
0
l
30 Septembre 2010 22:51:21

Ce bout de code va afficher un page vide.

Il faut mettre un texte sur ton lien :

  1. echo '<a href =\"admin.php\">Texte du lien</a>';
m
0
l
a b L Programmation
30 Septembre 2010 23:46:20

salut,

tu na pas besoin d'échapper t'es " ...

pour le lien :
  1. echo '<a href ="admin.php">Texte du lien</a>';



si c'est une redirection automatique que tu veux , utilise pluto un Header (Ps , pour utilise un header tu ne doit pas avoir de code html avant )

j'ai beau regarder ton code ... tu n'inclue nulle part ta page de sélection de bdd ?

Voila un exemple de page vite fais ( peut etre des erreur de frappe ;)  )

ton formulaire devien une page php dans le quel on rajoute au debut :
  1. <?php
  2. session_start();
  3. if($_SESSION['connect']='YES'){
  4. header('Location: admin.php')
  5. }


la page connexion : connect.php
  1. <?php
  2. $connexion = mysql_connect("localhost","root","" );
  3. if ( ! $connexion )
  4. die ("connexion impossible" );
  5. ?>


la page de selection de bdd : selectbdd.php
  1. <?php
  2.  
  3. $bdd="portfolio";
  4. mysql_select_db($bdd, $connexion);
  5. if ( ! $bdd )
  6. die ("connexion impossible" );
  7. ?>


le script de vérification: verif.php
  1. <?php
  2. session_start();
  3. include("connect.php" );
  4. include("selectbdd" );
  5. $login=$_REQUEST["login"];
  6. $pwd=$_REQUEST["password"];
  7.  
  8. $result = mysql_query("select login from connect where login='$login' and password='$pwd'",$connexion);
  9. $ligne = mysql_fetch_array($result);
  10.  
  11. if($ligne == '')
  12. {
  13. echo 'Identification invalide';
  14. // tu peut rajouter un lien pour retournee sur le formulaire ...
  15. }
  16. else
  17. {
  18. $_SESSION['connect']='YES';
  19. header('Location: admin.php')
  20. }
  21. ?>


et dans toute t'es page admin n'oublie pas :
  1. <?php
  2. session_start();
  3. if(!$_SESSION['connect']='YES'){
  4. header('Location: /* lien vers ta page de connection */ ')
  5. }




bon on pourra toujours critiquer ce code ...
des $_POST a la place des $_REQUEST serais peut etre mieux
les champ ne sont pas proteger ... rajout un htmlentities()
peut etre des empty() pour eviter la connection a la bdd si les champs sont vide ...
Juste conter le nombre de resultat optenue par la requette ( pour la placer directement dans le if par la suite car on optien du coup soit 0 ou 1 ( voir 2, ou plus ^^ mais apres tu aurais un pb pour la gestion des utilisateur :p  )

Voila tous !




m
0
l
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