extract($_POST) t'enlèves pas mal de sécurité, tu risques avec ceci d'écraser des variables de tout type.
Il vaut mieux récupérer manuellement les variables quitte à écrire plus de code et surtout à les sécuriser :
$login = mysql_real_escape_string($_POST['login']);
Vu que le compte est censé être unique tu peux rajouter un LIMIT 1 à ta requête afin de limiter la recherche.
De ce fait tu n'es censé faire aucune boucle sur la récupération. Un simple mysql_fetch_assoc() précédé d'une vérification de résultat (on compte le nombre de résultat avec mysql_num_rows), car on ne peut récupérer un résultat s'il n'y en pas.
Ensuite tu peux enlever ta seconde requête et l'intégrer dans la première, tu travailles sur la même table avec la même recherche.
Tes mots de passe semblent être en clair dans ta table non ?
Utilise un hash md5() avec une clé pour sécuriser les mots de passe.
$clé = "123456789%;sndf";
$pass = "mon mot de passe";
$mot_de_passe_securise = md5($clé . $pass);
On ne doit rien envoyer au navigateur avant de faire un header(), d'ailleurs il va te le dire via un beau warning.
Inverses le echo et le header().
extract($_POST) t'enlèves pas mal de sécurité, tu risques avec ceci d'écraser des variables de tout type.
Il vaut mieux récupérer manuellement les variables quitte à écrire plus de code et surtout à les sécuriser :
[php]$login = mysql_real_escape_string($_POST['login']);[/php]
Vu que le compte est censé être unique tu peux rajouter un LIMIT 1 à ta requête afin de limiter la recherche.
De ce fait tu n'es censé faire aucune boucle sur la récupération. Un simple mysql_fetch_assoc() précédé d'une vérification de résultat (on compte le nombre de résultat avec mysql_num_rows), car on ne peut récupérer un résultat s'il n'y en pas. ;)
Ensuite tu peux enlever ta seconde requête et l'intégrer dans la première, tu travailles sur la même table avec la même recherche.
Tes mots de passe semblent être en clair dans ta table non ?
Utilise un hash md5() avec une clé pour sécuriser les mots de passe.
[php]$clé = "123456789%;sndf";
$pass = "mon mot de passe";
$mot_de_passe_securise = md5($clé . $pass);[/php]
On ne doit rien envoyer au navigateur avant de faire un header(), d'ailleurs il va te le dire via un beau warning.
Inverses le echo et le header().