PhillAd
Messages postés13Date d'inscriptionsamedi 8 octobre 2005StatutMembreDernière intervention27 juin 2007
-
27 juin 2007 à 00:50
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 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
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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
//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
PhillAd
Messages postés13Date d'inscriptionsamedi 8 octobre 2005StatutMembreDernière intervention27 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é';
}
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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é';
}
PhillAd
Messages postés13Date d'inscriptionsamedi 8 octobre 2005StatutMembreDernière intervention27 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é.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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