Verification donnee bdd

Résolu
PhillAd Messages postés 13 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2007 - 27 juin 2007 à 00:50
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 27 juin 2007 à 20:44
Bonsoir,

Pouvez vous m'énoncez la maniére : pour verifier lors d'une inscription dans la bd si une valeur existe déjà et si elle l'existe de faire apparaitre un message d'erreur au visiteur.

J'ai cherché mais je ne trouve pas, je supose que cela ne doit pas être très compliqué mais si vous pouvez me donner la solution ça m'aiderai beaucoup 

Merci d'avance

10 réponses

PhillAd Messages postés 13 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 19:43
Mal recopié ça donne plutôt ça :

$r = mysql_query('SELECT pseudoFROM `MATABLE` WHERE email="'.email.'"'); or die('Erreur SQL !'.$sql.' ;
if(mysql_num_rows($r) > 0) { $erreurs[] ='Votre pseudo est déjà enregistré';
}
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
27 juin 2007 à 06:30
Salut

$r=mysql_query('select 1 from ... where champ="'.addslashes(valeur).'"') or ...;
if (mysql_num_rows($r)==0) // la valeur n'existe pas
else // la valeur existe

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
PhillAd Messages postés 13 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 15:22
Salut,
J'ai essayé ce que tu m'as donné coucou747, mais ça fait comme si je ne mettais rien.

Voici une partie du code :

 $pseudo=$_POST['pseudo'];
 $email=$_POST['email'];
 $raison=$_POST['raison'];
 $fruits=$_POST['fruits']; 
 $ip=$_SERVER['REMOTE_ADDR'];
 
//verification si le pseudo existe dans la bdd
$r = mysql_query('SELECT pseudo FROM `MATABLE` WHERE pseudo=\''.$pseudo.'\'');
if(!$r) { $erreurs[]='Votre pseudo est déjà enregistré';
}
//inscription dans la bdd
$sql= "INSERT INTO MATABLE VALUES('$pseudo','$email','$raison','$fruits','$ip') ";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());

Lorsque que je met le même pseudo j'ai de nouveau un doublon dans la bd. La variable $erreurs est censer mettre le message d'erreur dans un tableau. Si vous avez des idées.
Merci d'avance
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
27 juin 2007 à 15:41
Salut

c'est pas du tout ce que j'ai mis...

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PhillAd Messages postés 13 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 16:17
Ben j'ai pas compris alors ...il faut mettre ?

$r = mysql_query('SELECT pseudo FROM `MATABLE` WHERE champ='''.addslashes($pseudo).\''); or die('Erreur SQL !'.$sql.' ;
if(mysql_num_rows($r)==0) { $erreurs[]='Votre pseudo est déjà enregistré';
}
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
27 juin 2007 à 16:24
Salut
la tu vas avoir une parse error...

$r = mysql_query('SELECT pseudo FROM `MATABLE` WHERE champ="'.addslashes($pseudo).'"
') or die(mysql_error());
if(mysql_num_rows($r)==0) {
$erreurs[]='Votre pseudo est déjà enregistré';
}

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
PhillAd Messages postés 13 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 19:40
$r = mysql_query('SELECT
pseudo
FROM `
MATABLE
` WHERE
champ='''.$pseudo.\'''
); or die('Erreur SQL !'.$sql.' ;
if(mysql_num_rows($r) > 0) { $erreurs[] ='Votre pseudo est déjà enregistré';
}


Voilà finallement trouvé, ça marche mieux comme ça.
Bye
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
27 juin 2007 à 19:51
Salut

t'aurais au moins pu accepter ma reponse.... ma premiere reponse etait parfaite...

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
PhillAd Messages postés 13 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 20:21
...<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>


tu as mis ==0 alors que en faite c'est >0 (je cherchais pour que cela empêche d'enregistrer).
 
Tu dis que ta réponse est parfaite certes pour moi une réponse parfaite c'est une réponse où l'on a pris la peine d'expliquer et de détailler ce que l'on a mis (parceque comprende ce que tu as mis c'est pas evident pour un novice!), donc non ta réponse ne l'ai pas, ma réponse ne l'ai pas non plus mais elle résout mon problème d'où le fait d'avoir mis réponse accepté.


....dans ma réponse il manque le $ pour définir la variable qu'il ne faut pas oublié.

Merci d'avoir répondu


 
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
27 juin 2007 à 20:44
Salut

$r=mysql_query('select 1 from ... where champ="'.addslashes(valeur).'"') or ...;
if (mysql_num_rows($r)==0) // la valeur n'existe pas

else // la valeur existe CA VEUT DIRE ERREUR

1) je te fais un code super proche de ton code final
2) je te corrige le code que t'as meme pas su copier coller... (avec des fautes de syntaxes enormes)

et ensuite tu valides ta reponse... serieux il y a de l'abus

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0