comment faire pour que l’utilisateur en trin de s’inscrire n’ait pas le meme pseudo qu’un utilisateur deja rentré dans la base de données?
Tu dois faire une recherche sql:
- soit tu cherches grâce a une requête pour laquelle ta variable pseudo est egale a une des entrées de ta base sql t’utilises alors un WHERE pseudo=$_POST[‘pseudo’] par exemple
Edit: quoi que ca me semble un peu compliquer a mettre en place la seconde me semble plus simple en faite - ou alors tu peux compter le nombre d’entrées sql qui sont égale à ta variable $_POST[‘pseudo’] si != 0 alors l’utilisateur est deja rentré
Edité le 01/03/2008 à 16:20
tu fais une requete SQL qui sélectionne tous les pseudo de la BD et tu compare avec le pseudo entré:
$pseudos = mysql_query(“SELECT pseudo FROM ta-bd WHERE pseudo=le-pseudo”);
après tu regarge la longueur de $pseudos.
Edité le 01/03/2008 à 16:22
oué ben tien jai trouvé finalemen jai fait un while …pr comparer ma base de donner avec ce que l’utilisateur a rentré
tu devrais plutôt tout mettre dans la requete SQL, ça sera plus rapide à exécuter.
oui j’essaye de tout mettre dans ma requette mais je n’arrive pas a l’executer… je dois ecrire des choses impossibles.
Tu fais $pseudo = le-pseudo-du-gar ;
$reponse = mysql_query(“SELECT Pseudos FROM Ta-bd
WHERE Pseudos=’$pseudo’”);
ben c’est exactement ce que j’avai fait mais ca me renvoie une page blanche
$retour = mysql_query(‘SELECT COUNT(*) AS nbre_entrees FROM membres WHERE pseudo=’’.$pseudo.’’’) or die(mysql_error());
$donnees = mysql_fetch_array($retour);
if($donnees[‘nbre_entree’] != 0)
{
echo ‘Votre pseudo est déja utilisé’;
}
else {
//Poursuite de l’inscription
}
Plutôt: mysql_real_escape_string($pseudo)
Jamais essayé cette fonction Sans-Nom :o m’enfin celle que j’ai donné marche également testé et approuvé je m’en sers pour un formulaire de login
Du tout.
Ton code posera problème dés lorsque $pseudo contiendra des ’ (bref: cf. injections SQL)
Au passage, ton formulaire de login, hé bien n’importe qui peut se connecter j’y dis ça, je dis rien… /D
Hmm je voudrais bien en savoir un peu plus , si j’ai fait un html_specialchars juste avant sur mon $pseudo il peut pas faire une injection nop ?
Ou alors suffit de ne pas permettre les ’ dans le champ pseudo enfin je suis neophyte ^^’
htmlspecialchars = protection contre les conneries en HTML.
mysql_real_escape_string = protection contre les conneries en (my)SQL.
en gros donc:
- htmlspecialchars: pour rendre un contenu que l’utilisateur a entré, et qui peut contenir du html, que l’on ne souhaite pas afficher comme tel (pour des raisons de sécurité, etc)
- mysql_real_escape_string: pour rendre une chaîne de caractères “sûre” vis à vis de la base de données.
->
$retour = mysql_query(‘SELECT COUNT(*) AS nbre_entrees FROM membres WHERE pseudo=’’.mysql_real_escape_string($pseudo).’’’) or die(mysql_error());
Bha écoute merci je ne savais pas du tout ^_^’ j’pensais pas du tout a ça =O
Je vais changer mes formulaires dessuite alors =]
Merci
S’il n’y a pas d’echo/print, il est normal que tu obtiennes une page blanche :neutre: