Probleme de verif pseudo ( php )
rudak
Messages postés
590
Date d'inscription
Statut
Membre
Dernière intervention
-
rudak Messages postés 590 Date d'inscription Statut Membre Dernière intervention -
rudak Messages postés 590 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis en train de faire ma fonction ajax qui verifie si le pseudo existe deja dans ma base de donnée lors de l'inscription
le soucis c'est que j'arrive a le contourner simplement en rajoutant un espace a la fin du pseudo
exemple : (rudak est deja dans ma base)
je cherche 'rudak' ca me dit ==> il est déja.
je cherche 'rudak ' ca me dit ==> il n'y est pas.
voila ma requete php
on doit surement pouvoir régler ce ptit souci..?
il me semble qu'il y a une fonction native en php qui suprime les espaces en fin ou debut de string ca pourrai etre la solution qu'en pensez vous ?
le soucis c'est que j'arrive a le contourner simplement en rajoutant un espace a la fin du pseudo
exemple : (rudak est deja dans ma base)
je cherche 'rudak' ca me dit ==> il est déja.
je cherche 'rudak ' ca me dit ==> il n'y est pas.
voila ma requete php
<?php
if(isset($_GET['action']))
{
include('conexionbase.php');
if($_GET['action']=="check_pseudo")
{
$sql="SELECT * FROM mabaseWHERE pseudo='".$_GET['pseudo']."'";
$result=mysql_query($sql);
if(mysql_num_rows($result)){echo "oui";}
else{echo "non";}
}
mysql_close();
}
?>
on doit surement pouvoir régler ce ptit souci..?
il me semble qu'il y a une fonction native en php qui suprime les espaces en fin ou debut de string ca pourrai etre la solution qu'en pensez vous ?
4 réponses
-
Utilise la fonction trim() qui supprimes les espaces blancs (espaces, tabulations, retours à la ligne, ...) en début et en fin de chaine.
-
question => rudak, le 7 mar 2010 à 17:40:41
reponse => avion-f16, le 7 mar 2010 à 17:41:43
super merci : ^^ -
jai changé ma requete j'ai rajouté trim() comme ca :
$sql="SELECT * FROM angothmembres WHERE pseudo='".trim($_GET['pseudo'])."'";
par contre ca fonctionne "a moitié" mais ca doit venir d'autre part.
'rudak' ==> existe
'rudak ' ==> n'existe pas
' rudak' ==> existe
' rudak ' ==> existe
y a juste un ptit soucis avec pseudo+espace
voila mes fonctions javascript
function request(callback) { var pseudo = encodeURIComponent(document.getElementById('pseudo').value); var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { callback(xhr.responseText); document.getElementById('loader').style.display = "none"; } } xhr.open("GET", "ajax.php?action=check_pseudo&pseudo="+pseudo, true); xhr.send(null); } function readData(sData) { pseudo = document.getElementById('pseudo').value; if (sData == "oui") // si le retour de la requete = oui => alors le pseudo existe deja { document.getElementById('txt_pseudo').innerHTML = " <b>"+pseudo+"</b> est déja pris !"; document.getElementById('pseudo_no').style.display = "inline"; } else { document.getElementById('txt_pseudo').innerHTML = " <b>"+pseudo+"</b> ok!"; document.getElementById('pseudo_ok').style.display = "inline"; } setTimeout("request("+readData+")",1000); } -
voila jai resolu mon souci en rajoutant une fonction trim sur mon javascript
je montre coment jai fait ca pourra peut etre servir a quelqun un jour... :
var regExpBeginning = /^\s+/;
var regExpEnd = /\s+$/;
function trim(aString)
{
return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}
function request(callback)
{
var pseudo = encodeURIComponent(trim(document.getElementById('pseudo').value));
etc etc...
voila ca marche impec merci pour le coup de main