Formulaire connexion php

Résolu
tortue60 Messages postés 269 Statut Membre -  
tortue60 Messages postés 269 Statut Membre -
Bonjour,

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
A voir également:

2 réponses

Résumé de la discussion

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.

Généré automatiquement par IA
sur la base des meilleures réponses
jeremy.s Messages postés 1248 Statut Membre 79
 
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
0
tortue60 Messages postés 269 Statut Membre
 
mon problème c dans le if
il me bloque pas ma connexion si c incorrect
0
jeremy.s Messages postés 1248 Statut Membre 79
 
C'est tout à fait normal, tu t'y prends mal !
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.
0
tortue60 Messages postés 269 Statut Membre
 
j'enlève donc la ligne juste avant le if
0
jeremy.s Messages postés 1248 Statut Membre 79
 
Il faut que tu refasses un peu tout enfaite.
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)
0
tortue60 Messages postés 269 Statut Membre
 
pourtant mon if me sert bien à vérifier le résultat de ma requete, j'avais fait sa pour un autre truc dans une requete insert
0
armando_bond Messages postés 5 Statut Membre
 
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>";
}

?>
0
tortue60 Messages postés 269 Statut Membre
 
je suis en mode orienté objet aussi moi
0