rechercher dans la bdd si pseudo est deja existant

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 : rechercher dans la bdd si pseudo est deja existant

par castelli » 29 sept. 2005, 11:37

a Mince j'avais pas vus jvais faire un tit edit discret héhéhé Merci pr l'info, veut pas me la mettre a dos quand meme hihi

par Cyrano » 29 sept. 2005, 11:32

Hé, castelli, pssssttt! c'est "mere" et teresa sans "h", fais gaffe, elle va t'assassiner toute sainte qu'elle fût sinon :-"

par castelli » 29 sept. 2005, 11:29

C'est bon j'ais compris comment sa fonctionnait :P

Merci encore a cyrano et a la mere teresa ;)

par mere-teresa » 29 sept. 2005, 11:14

Je dirais même plus :
Shéma pratique:
<?php
//...
$requete1 = "SELECT COUNT(*) FROM util WHERE pseudo = '". $pseudo ."'";
/*On affiche la requete pour vérification */
echo $requete1."<br />";

$result1 = mysql_query($requete1,$link)  or die ('Erreur2 : '.mysql_error() );

/* On récupère le résultat */
$existant = mysql_result($result1, 0);
/* On vérifie la valeur du résultat: */
if($existant > 0)
{
echo "Il y a déjà un pseudo <br />";
    /* Le pseudo proposé a été trouvé dans la base, on sort et on demande de choisir un autre pseudonyme */
}
else
{
// on regarde ce que contient existant
var_dump($existant);echo "<hr />";
    /* Le pseudo est disponible, on continue le traitement pour enregistrer les données */
}
?>

par Cyrano » 29 sept. 2005, 11:06

Shéma pratique:
<?php
//...
$requete1 = "SELECT COUNT(*) FROM util WHERE pseudo = '". $pseudo ."'";
$result1 = mysql_query($requete1,$link)  or die ('Erreur2 : '.mysql_error() );
/* On récupère le résultat */
$existant = mysql_result($result1, 0);
/* On vérifie la valeur du résultat: */
if($existant > 0)
{
    /* Le pseudo proposé a été trouvé dans la base, on sort et on demande de choisir un autre pseudonyme */
}
else
{
    /* Le pseudo est disponible, on continue le traitement pour enregistrer les données */
}
?>

par mere-teresa » 29 sept. 2005, 10:57

Essaie en faisant un print ou echo de ta requête, puis en la testant dans PHPMyAdmin, ensuite si ça fonctionne, fais tourner ton code PHP et fais un echo sur quasi toutes les variables pour vérifier ce qu'elles contiennent (ou var_dump() si tu veux connaître leur type) et contrôler ce qui se passe dans ton appli.

par castelli » 29 sept. 2005, 10:55

Oui je comprend bien le principe :) mais de la a bien l'appliquer .. lol


J'ais penser faire comme sa , sa vous a l'air bon ou bien...
$requete1 = "SELECT COUNT(*) FROM util WHERE pseudo = '". $pseudo ."'";
$result1 = mysql_query($requete1,$link)  or die ('Erreur2 : '.mysql_error() );
$row = mysql_fetch_row($result1);




    if ($pseudo == '' ||$row != 0 ||$race == '' ||$code != $code2 || $email == '' || $age == '' || $sexe == '' || $poid == '' || $taille == '' || !(eregi($valid, $email)) )
			{.....

par Cyrano » 29 sept. 2005, 10:44

Au lieu de faire un "SELECT pseudo..." fais un
$requete1 = "SELECT COUNT(*) FROM util WHERE pseudo = '". $pseudo ."'";
À ce moment là, tu vérifie le nombre qui est retourné : s'il est supérieur à 0, alors le pseudo inscrit est déjà utilisé et tu retourne un message d'avertissement approprié, sinon alors tu peux enregistrer.

Saisis-tu le principe général ?

rechercher dans la bdd si pseudo est deja existant

par castelli » 29 sept. 2005, 10:39

(re)Bonjour tout le monde ,

J'aurais a nouveau une petite question.

Dans un de mes formulaire d'inscription , j'aimerais verifier si le pseudo demandez par la personne qui s'inscrit existe deja ou pas .
Si il existe on lui demande de retaper un nouveau pseudo , dans le cas contraire on accepte l'inscription..

J'ais essaillez de batir ma requete de cette façon :
if(isset($_POST['envoi']))
	{

// Récupération des données du formulaire
	$pseudo = $_POST['pseudo'];
	$email = $_POST['email'];
	$code = $_POST['code'];
	$code2 = $_POST['code2'];
	$race = $_POST['race'];
                $age = $_POST['age'];
                $taille = $_POST['taille'];
                $sexe = $_POST['sexe'];
                $poid = $_POST['poid'];
	$valid = "^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$";



$requete1 = "SELECT pseudo FROM util where pseudo='".$pseudo."'";
$result1 = mysql_query($requete1,$link)  or die ('Erreur2 : '.mysql_error() );


    if ($pseudo == '' ||$race == '' ||$code != $code2 || $email == '' || $age == '' || $sexe == '' || $poid == '' || $taille == '' || !(eregi($valid, $email)) )
			{


?>
				<h3>Informations incomplètes</h3>
				<p>Un (ou plusieurs) champ(s) n a(ont) pas été correctement rempli(s).</p>
        <ol>
<?php
				if ($pseudo == '') // Si le champ "pseudo" est vide,
					{	print "<li>Vous n'avez pas indiquez votre pseudo</li>\n";	}
En gros je me bloke au niveau de ma requete 1 pour verifier s'il existe ou pas et si tels est le cas inventé une variable ou pas..

(desolé dans ma tete c un petit peu embrouillé ;) )

Si vous pouviez m'aider ou me mettre sur le chemin sa serait gentil
merci