Verifier un champ dans une table mysql

[Résolu/Fermé]
Signaler
-
Messages postés
420
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
12 mars 2009
-
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.

8 réponses

Messages postés
420
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
12 mars 2009
128
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

j'essai et te redis si ca marche.
merci pour ta reponse en tout cas.
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..
Messages postés
420
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
12 mars 2009
128
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
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
Messages postés
420
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
12 mars 2009
128
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
$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..
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! !
Messages postés
420
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
12 mars 2009
128
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)