Formulaire connexion php
Résolutortue60 Messages postés 269 Statut Membre -
Je réalise une application web et j'ai fait un formulaire de connexion sauf que j'ai un problème: je voudrai afficher un message si l'identifiant et / ou le mot de passe est incorrect. Voici ce que j'ai fait
extract($_POST); // récupère les données transmisent par le formulaire et créer les variables du tableau $_POST
$requete = "Select identifiant, mdp, statut FROM personnel WHERE identifiant = '$identifiant' AND mdp = '$mdp' AND statut = '$statut'";
$result = $db->query($requete);
if ($db->query($requete)==false)
{
echo ("Identifiant et / ou mot de passe incorrect !");
}
else
{
if ($statut = "VM")
{
include("includes/menuVM.php");
include("includes/presentation.php");
}
else
{
include("includes/menuRH.php");
include("includes/presentation.php");
}
}
Merci de votre aide
- Formulaire connexion php
- Whatsapp formulaire opposition - Guide
- Gmail connexion - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Hotmail connexion - Guide
- Expert php - Télécharger - Langages
2 réponses
L'affichage d'un message lors d'un échec d'identification dans un formulaire de connexion PHP est au cœur de la problématique, notamment pour prévenir les tentatives d'accès non autorisées et informer l'utilisateur. Plusieurs réponses pointent les failles typiques : usage de extract($_POST), requête SQL concaténée risquée et test d'erreur inapproprié, avec une remarque fréquente sur la comparaison d'un statut. D'autres évoquent l'erreur commune d'utiliser l'opérateur d'égalité dans une condition avec une affectation, ou recommandent plutôt PDO et les requêtes préparées, ainsi que la gestion des sessions. En pratique, les conseils suggèrent d'aligner la vérification sur des requêtes paramétrées, d'éviter les messages techniques dans la vue et d'employer $_SESSION pour préserver le nom d'utilisateur entre les pages.
"sauf que j'ai un problème" mais quel est ton problème tu ne l'explicite pas !
Mais à mon avis en lisant ton code, le problème doit être que ca ne marche pas.
Il rentre toujours dans le else du if ($db->query($requete)==false) non ?
Ensuite tu t'y prends mal pour vérifier en BDD. Mais il y a une multitude de sujet sur le forum, une simple recherche et tu aurais trouvé ton bonheur !
Jérémy
<?php
include_once("connexion.php");
$resultat = mysql_query("select login,pass from (le nom de vtr table) where login='$_POST('login')' AND pass='$_POST('pass')'");
if( mysql_fetch_row($resultat))
{
echo "<h1>connecté </h1>";
}
else
{
echo "non connécté";
echo "<a href='index.php'> esseyer encore</a>";
}
?>
il me bloque pas ma connexion si c incorrect
Déjà tu fais une fois ta requete, et tu la refais dans le if.
Ensuite tu ne regardes même pas ce que te rapport ta requete ... Le fait de regarder si elle retourne true ou false te dis juste qu'elle a été executée ou non.
En gros :
1) Tu regarde si tes variables en post existent bien
2) Tu regarde si le login existe
3) Tu regarde si le mot de passe en post correspond au mot de passe en base de données
4) Tu rempli ta session
5) Tu redirige vers l'index (ou autre)