par
Ryle » 05 janv. 2007, 18:07
C'est parce que le parametre register_globals de ton fichier de configuration php.ini te le permet, il considère que toutes les variables sont accessibles par leur nom qu'elles proviennent de Get, Post, de la Session ou d'un Cookie (ce qui est pas terrible d'un point de vue sécurité, vaut quand même mieux spécifier d'où on la prend

)
Et pour gérer tes deux résultats, il te suffit de mettre deux mysql_fetch, ou encore mieux, de ne faire qu'une seule requête qui te ramene nick et mot de passe et de comparer ensuite en php :
$sql = "SELECT nick, pass, ... FROM table WHERE nick = '...' ";
$res = mysql_query($sql); // execution
if($res = mysql_fetch_array($res)) { // traitement du résultat
// au moins 1 resultat pour ce nick
if($res['pass'] == $_POST['pass'])
// mot de passe ok
else
// mot de passe incorrect
}
else {
// pas de résultat pour ce nick
}
C'est parce que le parametre register_globals de ton fichier de configuration php.ini te le permet, il considère que toutes les variables sont accessibles par leur nom qu'elles proviennent de Get, Post, de la Session ou d'un Cookie (ce qui est pas terrible d'un point de vue sécurité, vaut quand même mieux spécifier d'où on la prend :))
Et pour gérer tes deux résultats, il te suffit de mettre deux mysql_fetch, ou encore mieux, de ne faire qu'une seule requête qui te ramene nick et mot de passe et de comparer ensuite en php :
[php]$sql = "SELECT nick, pass, ... FROM table WHERE nick = '...' ";
$res = mysql_query($sql); // execution
if($res = mysql_fetch_array($res)) { // traitement du résultat
// au moins 1 resultat pour ce nick
if($res['pass'] == $_POST['pass'])
// mot de passe ok
else
// mot de passe incorrect
}
else {
// pas de résultat pour ce nick
}[/php]