Verifier un champ dans une table mysql

Résolu/Fermé
tite_rabzoz - 7 avril 2008 à 15:38
laetitia02 Messages postés 424 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 12 mars 2009 - 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.
A voir également:

8 réponses

laetitia02 Messages postés 424 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 12 mars 2009 129
7 avril 2008 à 15:53
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
2
j'essai et te redis si ca marche.
merci pour ta reponse en tout cas.
0
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..
0
laetitia02 Messages postés 424 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 12 mars 2009 129
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
0
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
0

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

Posez votre question
laetitia02 Messages postés 424 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 12 mars 2009 129
7 avril 2008 à 16:21
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
0
$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..
0
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! !
0
laetitia02 Messages postés 424 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 12 mars 2009 129
7 avril 2008 à 16:47
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)
0