Probleme de verif pseudo ( php )

Fermé
rudak Messages postés 590 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 - 7 mars 2010 à 17:40
rudak Messages postés 590 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 - 7 mars 2010 à 18:27
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

<?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 ?
A voir également:

4 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
7 mars 2010 à 17:41
Utilise la fonction trim() qui supprimes les espaces blancs (espaces, tabulations, retours à la ligne, ...) en début et en fin de chaine.
0
rudak Messages postés 590 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
7 mars 2010 à 17:43
question => rudak, le 7 mar 2010 à 17:40:41
reponse => avion-f16, le 7 mar 2010 à 17:41:43

super merci : ^^
0
rudak Messages postés 590 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
7 mars 2010 à 18:02
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);
}
0
rudak Messages postés 590 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
7 mars 2010 à 18:27
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
0