Posez votre question Signaler

Verifier un champ dans une table mysql [Résolu]

tite_rabzoz - Dernière réponse le 7 avril 2008 à 16:47
Bonjour,
voici le probleme:
J'ai un formulaire avec champs, dont l'email, et une annonce .
une base de donner avec une table contact et un champ email_contact.
apres recuperation des champs, avant l'enregistrement de l'annonce dans ma base, je veux verifier à l'aide de l'email que le contact est bien enregistré dans ma table contact, sinon il ne peut ajouter une annonce.
$local_email=$_POST['P_email'];
if ...
il me fau une requete qui va chercher les email dans la table contact, avec un SELECT je suppose..
puis les compare à $local_email..
s'il existe dans la base, on passe a la suite du code, sinon, message d'erreur, ou demande de bien vouloir s'inscrire.

$requete="INSERT INTO ANNONCE (email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";
mysql_query($requete) or die ("Erreur d'insertion dans la table");// mysql_error());

Si quelqu'un pouvais m'aider, ou à une tite idée, je suis dans l'impasse, je n'arrive pas a formuler ma requete..
comment integrer une variable php, dans une requete mysql???
Je vous remercie d'avance.
Lire la suite 

Verifier un champ dans une table mysql »

9 réponses
Réponse
+2
moins plus
salut c tout simple il suffit juste d ecrire
$requete="select email from annonce where email='".$_POST["P_email"]."'";
alors le truc c de faire attention double quote avant le select ensuite simple puis double quote apres double simple double et voila
Ajouter un commentaire
Réponse
+0
moins plus
j'essai et te redis si ca marche.
merci pour ta reponse en tout cas.
Ajouter un commentaire
Réponse
+0
moins plus
Alors c'est deja mieu que tout a l'heure.. mais ca marche pas vraiment:

$requete=mysql_query("select count(id_contact) from contact where email_contact='".$_POST["P_email"]."'");
if(!$requete)
{
$requete="INSERT INTO ANNONCE (email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";
mysql_query($requete) or die ("Erreur d'insertion dans la table");
mysql_close();
}

else{
?>

<HTML>
<BODY>

Veuiller d'abord vous inscrir a notre news letter avant de pouvoir y entrer une annonce<BR/> <BR/>
<a class="lnkMenu" href="saisieUtil.html"><font color="#000000" size="4">S'inscrire</font></a>

</body>
</html>


Le probleme maintenant c'est qu'il passe directement au else, meme si l'adresse email est valide..
je pense que ca vient du COUNT..

encore un petit peu d'aide ne serait pas de refus svp..
en vous remerciant d'avance..
laetitia02 - 7 avril 2008 à 16:15
a tu mi tout ton code car si le cas, le probleme et que ton else n est pas fermer, ensuite ta d balises html et body mi dans le else, elle ne doivent pas y etre
Ajouter un commentaire
Réponse
+0
moins plus
oupssss.. petite erreur de ma part,
c pas if(!$requete)
mais if($requete>=1)

mais il y a tjour probleme dans tout les cas maintenant il reconnai l'adresse, et ne passe jamais dans le else
Ajouter un commentaire
Réponse
+0
moins plus
c if($requete) tout cour, en gros si il trouve l'adresse email, tu veux qu il insere cette personne dans ta base, autrement, tu lui envoie un message d'inscription c cela?
et retire ton html et body dans ton else normalement tu l ai a déjà mi au debut de ton code
Ajouter un commentaire
Réponse
+0
moins plus
$requete=mysql_query("select email_contact from contact where email_contact='".$_POST["P_email"]."'");
if($requete)
{

$requete="INSERT INTO ANNONCE (email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";

mysql_query($requete) or die ("Erreur d'insertion dans la table");// mysql_error());

mysql_close();

?>
Titre reçue (pour verification) : <?php echo $_POST['P_titre'] ?>

<?php
}
else{
?>
Veuiller d'abord vous inscrir a notre news letter avant de pouvoir y entrer une annonce<BR/> <BR/>
<a class="lnkMenu" href="saisieUtil.html"><font color="#000000" size="4">S'inscrire</font></a>
<?php
}
?>




voici mon code.. logiquement, si l'email n'est pas present dans la base, il devrait passer au else, et me mettre mon message d'erreur.. mais dans tout les cas, il m'enregistre quand meme l'annonce..
Ajouter un commentaire
Réponse
+0
moins plus
C'est bon ,j'ai la solution a mon probleme, il fallait comme condition

if(mysql_num_rows($result)>0)


....

pour compter les ligne renvoyer, donc si pas de reponse, pas de ligne renvoyer, car comme je l'avai fai precedement,
meme sil ne trouvai pas de reponse, il y avait quand meme une reponse, le fait kil ne trouvai pas de reponse, 0!

merci encore pour ton aide.
salut! !
Ajouter un commentaire
Réponse
+0
moins plus
ta oublier d'executer ta requete
$requete=mysql_query("select email_contact from contact where email_contact='".$_POST["P_email"]."'");
$resultat=mysql_fetch_assoc($requete);
if($resultat)
Ajouter un commentaire
Ce document intitulé « verifier un champ dans une table mysql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook