email et liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : email et liste déroulante

Re: email et liste déroulante

par jojolapine » 27 janv. 2011, 11:13

Y a pas de quoi ;)
Bonne continuation avec php!

Re: email et liste déroulante

par n1cklas06 » 27 janv. 2011, 11:04

Bonjour

merci à toi pour cette réponse qui a résolu mon problème!!

Re: email et liste déroulante

par jojolapine » 27 janv. 2011, 10:12

Bonjour,

C'est tout à fait normal... Première faute, tu as mis un simple "=" dans ta condition...
Ce qui fait que tu affecte la chaîne 'Choix du Contact' à ta variable au lieu de tester l'égalité.
Ensuite je verrais plutôt le test comme ça :
Tu demandes:
// si la variable post existe et n'est pas vide
// et qu'elle est différente de la valeur 'Choix du Contact'
// alors on initialise $email_copie
if (!empty($_POST['email_copie']) && $_POST['email_copie'] != 'Choix du Contact')
{
	$email_copie = $_POST['email_copie'];
}
// sinon ça veut dire qu'on ne demande pas de copie
else
{
	$email_copie = '';
} 
Tu pourrais même rajouter dans ton premier if() un test de validité de l'adresse email ...

email et liste déroulante

par n1cklas06 » 27 janv. 2011, 02:53

Bonjour tout le monde,

voici mon problème:

j'envoie les résultats d'un formulaire par la fonction mail()...ou plus exactement Phpmailer.
tout fonctionne parfaitement, sauf que : j'ai mis en place une liste déroulante contenant des adresses emails ,issues d'une base de données, qui doit servir de choix pour l'envoie en copie du fameux formulaire, or celui-ci ne fonctionne QUE dans le cas suivant :


page cible:
$email_copie = $_POST['email_copie'];

$q = mysql_query("SELECT email FROM MAIL_CC where email LIKE '".$email_copie."%'"); 
while ($r = mysql_fetch_array($q)) {
	$email_copie = $r['email'];

} 

or je voudrais que :
if (isset($_POST['email_copie']) && $_POST['email_copie'] = 'Choix du Contact')
	{
  		 $email_copie = '';
	}
	else
	{
  		 $email_copie = $_POST['email_copie'];
	} 

$q = mysql_query("SELECT email FROM MAIL_CC where email LIKE '".$email_copie."%'"); 
while ($r = mysql_fetch_array($q)) {
	$email_copie = $r['email'];

}

autrement dit avec le dernier code, ci-dessus, je souhaite que si l'on choisie "Choix du Contact" alors pas d'envoi du mail en copie sinon on envoie. Or le "on envoie" ne fonctionne pas, l'envoi en copie du mail choisie dans la liste déroulante ne fonctionne pas.


je vous donne le code qui me sert à générer la liste déroulante qui vous aidera à mieux comprendre l'ensemble.

page source :
$sql = " SELECT email FROM MAIL_CC ";
$result = mysql_query($sql) or die("Requete incorrect");


<label for="form_cc_email"></label>
   <select name="email_copie">
   <option>Choix du Contact</option>
<?php
while ($row=mysql_fetch_array($result))
{
echo"<option value=$row[0]>$row[0]</option>";
}
?>
</select>
(j'ai élagué au maximum le code : est-ce de trop?)
j'espère avoir été à peu près clair à une heure ou les idées le sont de moins en moins.

Merci pour votre aide et à très vite.