par
Ryle » 06 mars 2009, 13:31
Hum... histoire de bien parler de la même chose, ta page est toujours accessible quelque soit l'identifiant et le mot de passe spécifié. Ce qui va changer, c'est que si l'utilisateur existe en base, alors il verra un "Bienvenue :: Toto" au lieu d'un "Vous n'êtes pas autorisé..."
A noter que ton script actuel va lire et ramener tous les enregistrements de ta table, puis à cause du while, les essayer un par un pour voir si les identifiants et mots de passe correspondent à ceux spécifiés. Résultat, si tu as 30 inscrits, tu vas afficher 29 "Vous n'êtes pas autorisés" et un "Bienvenue"
Il serait plus judicieux de spécifier directement dans la requête les informations que tu recherches pour ne ramener que l'enregistrement dont tu as besoin :
// on ne cherche que l'enregistrement correspondant au login spécifié
$sql = "SELECT nom, password, bureau FROM newsletter WHERE nom = '".mysql_real_escape_string($_POST['login'])."'";
$retour = mysql_query($sql);
if ($donnees = mysql_fetch_array($retour)) // s'il y a des résultats ...
{
...
Hum... histoire de bien parler de la même chose, ta page est toujours accessible quelque soit l'identifiant et le mot de passe spécifié. Ce qui va changer, c'est que si l'utilisateur existe en base, alors il verra un "Bienvenue :: Toto" au lieu d'un "Vous n'êtes pas autorisé..."
A noter que ton script actuel va lire et ramener tous les enregistrements de ta table, puis à cause du while, les essayer un par un pour voir si les identifiants et mots de passe correspondent à ceux spécifiés. Résultat, si tu as 30 inscrits, tu vas afficher 29 "Vous n'êtes pas autorisés" et un "Bienvenue" :(
Il serait plus judicieux de spécifier directement dans la requête les informations que tu recherches pour ne ramener que l'enregistrement dont tu as besoin :
[php]// on ne cherche que l'enregistrement correspondant au login spécifié
$sql = "SELECT nom, password, bureau FROM newsletter WHERE nom = '".mysql_real_escape_string($_POST['login'])."'";
$retour = mysql_query($sql);
if ($donnees = mysql_fetch_array($retour)) // s'il y a des résultats ...
{
... [/php]