éviter les inscriptions avec le même pseudo.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : éviter les inscriptions avec le même pseudo.

par béka » 18 mai 2006, 09:26

de rien

par shadou » 18 mai 2006, 09:17

tout marche impec après que j'ai changé ma requère sql :)
merci béka!
[problème résolu ]

idem pseudo

par tilillois » 16 mai 2006, 19:04

moi j'ai
if ($num!=0)

par shadou » 16 mai 2006, 16:00

ok je fais sa je reviens dans 1h ^^ j'ai cours xD

par béka » 16 mai 2006, 15:55

ajoute dans ta commande sql :

Code : Tout sélectionner

WHERE pseudo='$_POST[nomduchampduformulaire]'";

par shadou » 16 mai 2006, 15:50

bon sa marche...
mais pas totalement, il affiche bien que le pseudo est déja enregistré
mais pour tous les pseudos que je rentre... qu'ils existent déja ou pas.... -_-'

voila mon code après ce que tu m'as dit de faire:
 {
                                        //Connexion à mysql.
										require("config.inc.php");
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);
                                                                              
$req_user = mysql_query('SELECT pseudo FROM membres ORDER BY id');

		$num = mysql_num_rows($req_user);
						if ($num > 0)
							{
							echo "login existe deja";
							exit();
							}
							else
							{
							//On éxécute la requête qui enregistre un nouveau membre.
mysql_query("INSERT INTO membres (id, pseudo, mot_passe, confirmation, email, rang) VALUES ('', '".$pseudo."', '".$mot_passe."', '1', '".$email."', '0')");
												
							}

par béka » 16 mai 2006, 15:28

a la place de tout ton while, essai ca :
$num = mysql_num_rows($req_user);
if ($num > 0)
{
echo "login existe deja";
exit();
}
else
{...
Normalement, il me semble que cela doit marcher

par shadou » 16 mai 2006, 15:18

je viens de tester ^^
sa ne marche pas.. :(

par béka » 16 mai 2006, 15:09

tu as essayé d'ajouter la fonction exit() après ta commande echo ?
Peut etre que ca peut marcher

éviter les inscriptions avec le même pseudo.

par shadou » 16 mai 2006, 15:02

Bonjour a tous :)
Voila je travaille actuellement sur un script d'inscription tout simple, qui demande juste le pseudo, mot de passe et adresse mail.
Je souhaiterais éviter que des personnes s'inscrivent avec le même pseudo.
Pour cela j'ai adopté une méthode qui n'a pas trop l'air de marcher :(
                                      //Connexion à mysql.
										require("config.inc.php");
                                        mysql_connect($host,$username,$password);
                                        mysql_select_db($bdd_name);
                                                                              
                                        $req_user = mysql_query('SELECT pseudo FROM membres ORDER BY id');
										while($user = mysql_fetch_array($req_user))
										{
										if(strtolower($user['pseudo']) == strtolower($_POST['pseudo']))
											{
												echo 'Le nom d\'utilisateur existe deja';
											}
										else
											{
										//On éxécute la requête qui enregistre un nouveau membre.
                                        mysql_query("INSERT INTO membres (id, pseudo, mot_passe, confirmation, email, rang) VALUES ('', '".$pseudo."', '".$mot_passe."', '1', '".$email."', '0')");
       
											}
ce n'est qu'une partie de mon code, mais c'est la ou sa coince!
En effet lorsque je veux m'inscrire avec le même pseudo qu'un autre membre, sa me m'affiche " le nom d'utilisateur existe déja" d'une part le nombre de fois qu'il y a de membres dans la table,
mais De plus.... sa m'insère quand même le membre dans la BDD...
et sa m'envoie le mail de confirmation!

J'ai beau réfléchir, je n'arrive pas a trouver de solution a mon problème :(