Fonction sanitize ?
Résolu
labourette
Messages postés
670
Statut
Membre
-
labourette Messages postés 670 Statut Membre -
labourette Messages postés 670 Statut Membre -
Bonjour,
J'ai récupéré une fonction mais j'aimerai savoir à quoi elle consiste, je n'arrive pas bien à comprendre son rôle.
Ca tourne autour de la sécurité je crois, mais si vous pouvez m'en dire un peu plus.
En vous remerciant beaucoup.
J'ai récupéré une fonction mais j'aimerai savoir à quoi elle consiste, je n'arrive pas bien à comprendre son rôle.
Ca tourne autour de la sécurité je crois, mais si vous pouvez m'en dire un peu plus.
En vous remerciant beaucoup.
function user_exists($username){
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false;
}
8 réponses
-
Bonjour,
Il ne s'agirait pas plutôt de filter_var ??
https://code.tutsplus.com/tutorials/sanitize-and-validate-data-with-php-filters--net-2595
A+
-
Bonjour
En fait la fonction que je souhaite récupérer c'est bien celle-ci.
Merci de votre aide.function user_exists($username){ $username = sanitize($username); return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false; } -
Salut,
Ta fonction user_exists retourne TRUE si l'utilisateur $username existe dans la table users, FALSE sinon.
La fonction sanitize en php n'existe pas (cette fonction doit être définie dans ton code). Dans cet exemple, la fonction sanitize devrait être remplacé par mysql_real_escape_string pour éviter les injections sql :function user_exists($username){ $username = mysql_real_escape_string($username); return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false; }
Bonne journée -
Bonjour
J'ai fait comme ça mais malheureusement ça me retourne aucun nom de compte trouvé.
Pourtant le compte existe dans ma BDD, je ne comprend pas.
S'ils vous plait comment résoudre se fichu problème?
Voilà mes 5 fonctions.
Mercifunction logged_in(){ return (isset($_SESSION['user_id'])) ? true : false; } function user_exists($username){ $username = mysql_real_escape_string($username); return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false; } function user_active($username){ $username = mysql_real_escape_string($username); return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE 'username' = '$username' AND 'active' = 1"), 0) == 1) ? true : false; } function user_id_from_username($username){ $username = mysql_real_escape_string($username); return mysql_result(mysql_query("SELECT 'user_id' FROM 'users' WHERE 'username' = '$username'"), 0, 'user_id'); } function login($username, $password){ $user_id = user_id_from_username($username); $username = mysql_real_escape_string($username); $password = md5($password); return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = $username AND password = $password"), 0) == 1) ? $user_id : false; } -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
As tu essayer d'exécuter ta requête directement dans un client sql (PhpMyAdmin par exemple) ?
Si oui, as tu des erreurs php et/ou sql ?
function user_exists($username){ $username = mysql_real_escape_string($username); $result = mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"); if (!$result) { die('Requête invalide : ' . mysql_error()); } return (mysql_result($result, 0) == 1) ? true : false; } -
Bonjour
J'ai essayé la requète dans PhpMyadmin ça me renvoie...
COUNT('user_id')
0
alors que j'ai 1 compte je ne comprends pas.
Merci de votre aide -
Difficile de t'aider plus.
Tu n'as pas une faute de frappe sur le username ?
Partage nous un export de ta bdd sinon. -
Bonjour
Je te remercie sincérement.
Déjà je vais reprendre mes fonctions depuis le début parce que je crois que j'ai fait une boulette en fait, je ne suis pas sur mais bon je vais reprendre tout ça.
Merci encore et si toute fois j'ai des soucis je reposterai.
Merci