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
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.
-
Salut !
"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 -
voila mon chér :
<?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>";
}
?>