//j'enleve les caractères html et php aux entrées
if ($pseudo_c != NULL AND $pass_c != NULL) //S'ils sont pas vident
{
$login = strip_tags ( $login_c );
$pass = strip_tags ( $pass_c );
//je cherche dans la bdd les données correspondant
$db = mysql_connect ( $serveur, $user, $password)OR die ('Connexion impossible');
mysql_select_db($basename, $db)OR die ('base inexistance ou non joignable');
$req = mysql_query( "SELECT * FROM `membres`WHERE login='.$login' && pass='.pass'");
while ( $rec= mysql_fetch_array ($req))
{
$login= $rec['.$login'];
$pass= $rec['.$pass'];
echo "login $pass";
}
}
?>
Quand j'execute ce code , il me donne une page blanche , c'est normal ?
Vaut mieux faire une boucle en if a la place du while ou pas ? La base de donnée est intelligente pour prendre le ogin qui va avec le pass ou pas ? Le tableau sert a quelque chose ?
Ne fait pas : $pseudo_c != NULL mais empty($pseudo_c)
On évite le SELECT * ... car ça utilise des ressources pour rien... Fait plutot : SELECT pseudo,pass
Ensuite, si tu fais un mysql_fetch_array, tu obtiens un tableau de tous les membres ont ce log et ce pass. Donc pour que le login soit bon, il faut qu'il y en ait un. Alors à ce moment là, pour vérifier si le log est bon : tu comtes les entrées de ce tableau avec la fonction count();. Si elle te renvoit 0, alors le log a échoué, si elle te renvoit 1 alors le log et bon et si elle te renvoit plus, alors il y a plussieurs utilisateurs avec le meme pass et meme code... :s
Sinon, on ne fait pas : $rec['.$login']; mais $rec['login'] ce qui correspond à l'index login de la matrice $rec qui correspond aux résultat de la requete SQL... J'espère que tu te perds pas trop.. .Mais si tu mets la var $login, ca cherche l'index de la matrice qui a pour nom le contenu de la variable $login.
Voilà, bonne chance pour la suite !! ++