krevette235
Messages postés12Date d'inscriptionlundi 14 janvier 2008StatutMembreDernière intervention16 janvier 2009
-
18 mars 2008 à 03:04
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 2010
-
18 mars 2008 à 16:15
Bonjour a tous,
bon voila ca fait plusieurs heures que je cherche, que je farfouille un peu partout mais je ne trouve rien. J'aimerai pouvoir verifier dans ma base de donnée que l'utilisateur qui essaie de se connecter existe bien, mais voila je n'y arrive. soit l'utilisateur existe tout le temps, soit il n'existe jamais. J'ai essayé d'écrire la variable de toutes les facons (simple cote, double cote, anti cote, ...) mais rien. Je vais donc vous montrez mon code en espérant que quelqu'un trouve une solution.
<?php
$link = mysql_connect('localhost', 'root');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
$db_selected = mysql_select_db('test', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
$login= $_POST['login'];
$pass= $_POST['pass'];
echo "$login
";
echo "$pass
";
$verif= mysql_query("select user from utilisateurs where user like '$login'");
if (!$verif) {
echo "Pas de user
";}
else
{echo "le user existe";}
?>
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 18 mars 2008 à 03:30
Il manque une accolade dans mon exemple désolé
$login= mysql_real_escape_string($_POST['login']);
$pass= $_POST['pass'];
echo "$login
";
echo "$pass
";
if ($verif mysql_query("select user from utilisateurs where user '$login'"))
{
if (mysql_rum_rows() === 0)
{
echo 'Pas de user
';
}
else
{
echo 'le user existe';
}
}
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 18 mars 2008 à 03:28
Salut,
Déja on dit quote, pas cote
Ensuite puisque toi tu veux une comparaison absolu utilise = plutot que like.. (et surtout échappe tes données)
Et puis toi tu vérifie si la requête aboutie bien... même si elle retourne rien ça veut pas dire une erreur, tu ne compare pas la bonne chose... tu dois comparer le nombre de rangés retournées (ou comparer le string avec un fetch)...
Exemple:
$login = mysql_real_escape_string($_POST['login']);
$pass= $_POST['pass'];
echo "$login
";
echo "$pass
";
if ($verif mysql_query("select user from utilisateurs where user '$login'"))
if (mysql_rum_rows() === 0)
{
echo 'Pas de user
';
}
else
{
echo 'le user existe';
}
}
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 mars 2008 à 07:59
Hello,
juste une précision :
"même si elle retourne rien ça veut pas dire une erreur, tu ne compare pas la bonne chose"Si...quand les utilisateurs se loggaient tout le temps, cela voulait dire que ta requête ne générait pas d'erreur SQL : ta requête était bonne. Mais comme le dit Yoman par contre...cela ne veut pas dire que l'utilisateur existait dans ta base, simplement que la requête générait une erreur (mauvais SQL par exemple) : $req mysql_query(requête); > $req sera égal à true si la requête est bonne.
=> $req sera égal à false si la requête génère ne erreur.
La phrase est fausse ;-) Mais la solution est bonne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 18 mars 2008 à 16:15
Salut,
@malalam: je me suis sans doute mal exprimé, je voulais dire que si la requête ne retournait aucun résultat, alors si elle était bien formulé elle ne générait pas automatiquement une erreur (retour false), donc sa comparaison de $verif comme boolean n'était pas suffisante... bref tu as tout de même vu où je voulais en venir :)
@krevette235: Ouais j'ai tappé ça a la vite, quelques petites fautes désolé
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org