Comment faire un select avec des caractères interdits ?

Signaler
Messages postés
12
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
16 juillet 2013
-
cod57
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
bonjour,
problème tout bête, mais je ne suis pas doué :
dans une table MEMBRE j'ai par exemple pass = a'"é^
évidemment, si je fais select pseudo from MEMBRE where pass = $pass, ça ne marche pas !
comment je fais pour qu'il me trouve bien a'"é^ ? ( sachant que tout doit fonctionner, comme ceux qui vont mettre un pass du genre ""' , bref tout un tas de caractères à la noix.)
merci !

3 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10
Bonjour
si tu hash (ici) le mot de passe dés l'inscription pas de problème les caractères exotiques le seront aussi est tu stockes dans un varchar.

Bonne programmation !
Messages postés
12
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
16 juillet 2013

merci cod57.
donc il faudrait faire :

ça AVANT l'insertion dans la base : $pass = crypt('pass');

et ensuite pour le récupérer ? ça va marcher si on fait ça ou il manque une instruction ? :

$sqlT="select PRID from membre where Email = '$Email' and pass = '$pass'";

il doit sûrement manquer une instruction INVERSE à crypt pour decrypter non ?
merci
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10
tu recryptes son $_POST['pass'] avec la même fonction lors de l'identification qui doit être similaire à celui stocké (crypté) dans la table de la base lors de l'inscription



Bonne programmation !