Connexion et message d'erreur. [ PHP ]
G...
-
tryan44 Messages postés 1288 Date d'inscription Statut Membre Dernière intervention -
tryan44 Messages postés 1288 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, je fait un formulaire d'inscription qui me pause problème, je suis partie d'un tutoriel que j'ai modifié à ma convenance, mais les vérifications du login et mot de passe via la BDD me pose problème..
Si le login et le mot de passe est OK, j'arrive à me connecter.
Si le formulaire est vide j'ai mon message d'erreur correct.
Si le compte n'est pas reconnu j'ai mon message d'erreur.
Mon problème est que si le login existe mais que le mot de passe est faux, j'ai toujours mon même message de " compte pas reconnu... "
Ce que j'aimerais c'est que :
Je fait les vérifications dans la BDD de si login existe et si le mot de passe est bien associé à un login.
Si le login et le mot de passe est OK dans la BDD, on peut se connecter.
Sinon si le visiteur se trompe de login ou mot de passe ( toujours en interrogeant la BDD )ça affiche " Mauvais login ou mot de passe "
Si le login n'existe pas " Compte non reconnu, veuillez vous inscrire.. "
Sinon " Le formulaire n'est pas valide ! "
Si formulaire est KO, je veut afficher le message d'erreur et le formulaire de connexion.
Je travail depuis plusieurs jours à trouver l'erreur qui fait que mon script ne fonctionne pas comme je le souhaite c'est pourquoi je viens vous demander quelques conseils pour comprendre mes erreurs et pouvoir les corriger, car la je commence malgré plusieurs tentatives, de tout casser et de tout refaire, à ne plus trop comprendre ce qui va pas... A mon avis mon soucis est dans ma structure ( IF... ELSE ) mais je vois pas du tout comment l'optimiser...
Merci pour les explications que vous pourrez me fournir qui me feront grandement avancer
Voici mon code :
Si le login et le mot de passe est OK, j'arrive à me connecter.
Si le formulaire est vide j'ai mon message d'erreur correct.
Si le compte n'est pas reconnu j'ai mon message d'erreur.
Mon problème est que si le login existe mais que le mot de passe est faux, j'ai toujours mon même message de " compte pas reconnu... "
Ce que j'aimerais c'est que :
Je fait les vérifications dans la BDD de si login existe et si le mot de passe est bien associé à un login.
Si le login et le mot de passe est OK dans la BDD, on peut se connecter.
Sinon si le visiteur se trompe de login ou mot de passe ( toujours en interrogeant la BDD )ça affiche " Mauvais login ou mot de passe "
Si le login n'existe pas " Compte non reconnu, veuillez vous inscrire.. "
Sinon " Le formulaire n'est pas valide ! "
Si formulaire est KO, je veut afficher le message d'erreur et le formulaire de connexion.
Je travail depuis plusieurs jours à trouver l'erreur qui fait que mon script ne fonctionne pas comme je le souhaite c'est pourquoi je viens vous demander quelques conseils pour comprendre mes erreurs et pouvoir les corriger, car la je commence malgré plusieurs tentatives, de tout casser et de tout refaire, à ne plus trop comprendre ce qui va pas... A mon avis mon soucis est dans ma structure ( IF... ELSE ) mais je vois pas du tout comment l'optimiser...
Merci pour les explications que vous pourrez me fournir qui me feront grandement avancer
Voici mon code :
<?php session_start(); // on teste si le visiteur a soumis le formulaire de connexion if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { include ('test_login.php'); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] == 1) { $_SESSION['login'] = $_POST['login']; $erreur = 'Bonjour '.htmlentities(trim($_SESSION['login'])).', <a href="pause1.php">Se déconnecter</a><br />'; } // sinon si on ne trouve aucune réponse, le compte n'existe pas elseif ($data[0] == 0){ $erreur = 'Compte non reconnu.'; } // sinon le login ou mot de passe est KO elseif($_POST['pass'] != $pass_md5){ $erreur = 'Mauvais login ou mot de passe !'; } } //sinon... else{ $erreur = 'Au moins un des champs est vide.'; } } else //sinon on affiche le formulaire { $erreur = '<fieldset> <legend> Connexion : </legend> <form action="pause1.php" method="post"> Login : <input type="text" name="login" value="'.htmlentities(trim($_POST['login'])).'"> Mot de passe : <input type="password" name="pass" value="'.htmlentities(trim($_POST['pass'])).'"> <input type="submit" name="connexion" value="Connexion"> </form> </fieldset><br />'; } echo $result; echo $erreur; ?>
A voir également:
- Connexion et message d'erreur. [ PHP ]
- Gmail connexion - Guide
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée