Vérifier si un pseudo est déja pris

WRInaute impliqué
Bonjour, j'essaye de mettre en place pour mon formulaire un petit code qui vérifie si un pseudo est déja pris. Par exemple si le pseudo Michel et déja pris, il faudrait que _Michel, michel, michel (avec un espace devant ou derrière), ou michel88 soit non autorisé.

J'ai fais ce petit code, mais il ne fonctionne que si le pseudo est exactement le même.

Pouvez vous m'aide? Merci

Code:
//Verifie dans le requetes des utilisateurs.
$charnamequery = doquery("SELECT charname FROM {{table}} WHERE charname='".trim($_POST['charname'],chr(160))."' LIMIT 1","users");

//On affiche la réponse si il y a un resultat.
if (mysql_num_rows($charnamequery) > 0) { $errors++; $errorlist .= "- Le pseudo est déja pris.<br>"; }
 
WRInaute passionné
Bonjour,

C'est un peu tordu quand même ton truc

Code:
WHERE LCASE(charname) LIKE LCASE('%".trim($_POST['charname'],chr(160))."%') "

Le pb avec ça c'est qu'un pseudo toto ne sera pas accepté si un pseudo titotota est existant
mais bon à priori c'est ce que tu cherches.
 
WRInaute impliqué
Code:
WHERE LCASE(charname) LIKE LCASE('%".trim($_POST['charname'],chr(160))."%') "

Ce code ne fonction qu'à moitié. En effet si je met un espace devant ou derrière le pseudo déja pris, ou si je rejoute un carractère tel que "_", ca ne fonctionne pas non plus.

Avez vous une idée de comment améliorer le code?
 
WRInaute impliqué
sff a dit:
Code:
WHERE LCASE(charname) LIKE LCASE('%".trim($_POST['charname'],chr(160))."%') "

Ce code ne fonction qu'à moitié. En effet si je met un espace devant ou derrière le pseudo déja pris, ou si je rejoute un carractère tel que "_", ca ne fonctionne pas non plus.

Avez vous une idée de comment améliorer le code?


Essaye ça :

Code:
WHERE LCASE(charname) LIKE LCASE('%".preg_replace("/[^a-zA-Z]/i","",$_POST['charname'])."%') "

Et surtout donne un nombre minimal de caracteres à tes pseudos sinon tu vas te faire avoir par un petit malin qui va créer 26 comptes différents avec chacun une seule lettre de l'alphabet et ca va te bloquer ton script d'inscription ;)

[edit] par contre fais gaffe avec ce code, ca va t'enlever tout ce qui est caractères spéciaux et chiffres
 
Discussions similaires
Haut