envoyer un email différent sur résultars menu déroulant - PHP - Programmation
Marsh Posté le 20-04-2010 à 11:33:32
Elle est pas pratique la structure de tes données, fais plutôt un truc du genre : 
| Code : 
 | 
Marsh Posté le 20-04-2010 à 14:17:13
Non il n'y a rien à faire 
c'est toujours l'option par défaut qui sera choisie 
 
je ne sais pas quoi faire pour que cela parte là où il faut ! 
 
merci
Marsh Posté le 20-04-2010 à 14:23:39
| trobador a écrit : Non il n'y a rien à faire  | 
 
 
Montre tout ton code, en particulier celui qui génère le code html du formulaire. Y'a pas de raison que ça marche pas  
 
Marsh Posté le 20-04-2010 à 16:36:21
 
 
 
 
 
Voilà pour le code "html" 
 
| Code : 
 | 
 
 
et puis le php 
 
 
 
 
| Code : 
 | 
 
 
avec ta proposition 
 
Merci 
Marsh Posté le 20-04-2010 à 17:15:04
ben il est ou ton formulaire (balise form et bouton submit)  Je vois que des div et une balise select...
 Je vois que des div et une balise select... 
Marsh Posté le 20-04-2010 à 17:34:28
Il y a un fichier javascript "changelist" 
le choix du menu déroulant ville  
fait varier aussi le menu déroulant date 
mais il y a des formes 
 
"# <select onChange="changeListe();" style='width:200 <?if($errf_13==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_13' size='1'> 
# <? for($id=0;$id<count($list['f_13']);$id++){ 
# if($id==$f_13){$ct="selected";} 
# print("<option ".$ct." value=".$id.">".$list['f_13'][$id]."</option>" ); 
# unset($ct);"
Marsh Posté le 20-04-2010 à 17:49:34
mais pour qu'un formulaire soit envoyé au serveur, il faut une balise form, donc elle est où  dans ton code 
Marsh Posté le 21-04-2010 à 13:56:45
Finalement  pour obtenir que l'adresse se définisse en fonction d'un choix fait sur un menu déroulant 
 
ça marche 
Merci à ceux qui m'ont aidé 
 
les variables  
| Code : 
 | 
 
 
| Code : 
 | 
 
 
ensuite 
| Code : 
 | 
Marsh Posté le 21-04-2010 à 14:11:04
Je comprends franchement pas pourquoi t'as pas repris ma structure qui t'aurais évité tous ces tests et surtout, si jamais tu rajoutes une ville, moi, t'as juste à la rajouter dans le tableau, alors que là, faut modifier plusieurs endroits dans le code 
Marsh Posté le 22-04-2010 à 13:34:46
Oui tu as certainement raison, mais je n'ai pas réussi à la faire marcher.  
 
Certainement dû à mes très faible connaissance du php. L'autre version me paraissait plus compréhensible 
 
Merci 
Marsh Posté le 22-04-2010 à 14:00:54
Par hasard, t'aurais pas la variable "register_globals" à ON dans ton php.ini  Parce que je vois pas où ta var php $f_13 prend sa valeur en provenance de ton formulaire (pas d'appel à $_POST ou $_GET dans ton code). La seule explication est que $f_13 soit une variable globale et qui a le même nom que le champ de ton formulaire, ce qui n'est vraiment pas une bonne chose. En changeant de serveur, ton script ne marchera probablement plus car on préconise pour une question de sécurité que register_globals soit par défaut à OFF
 Parce que je vois pas où ta var php $f_13 prend sa valeur en provenance de ton formulaire (pas d'appel à $_POST ou $_GET dans ton code). La seule explication est que $f_13 soit une variable globale et qui a le même nom que le champ de ton formulaire, ce qui n'est vraiment pas une bonne chose. En changeant de serveur, ton script ne marchera probablement plus car on préconise pour une question de sécurité que register_globals soit par défaut à OFF 
Marsh Posté le 20-04-2010 à 11:12:09
Bonjour
je voudrais pouvoir envoyer un email à un destinataire différent en fonction du choix de l'internaute.
Si l'utilisateur choisi dans une liste déroulante une ville alors le mail sera envoyé chez un destinataire se trouvant dans cette ville
j'ai fait ça
pour les variables :
$ville_a="Paris";
$ville_b="Poitiers";
$ville_c="Bordeaux";
$ville_d="Lyon";
$list['f_13']=array(" ",$ville_a, $ville_b, $ville_c, $ville_d);
$mail_1="1@gmail.com";
$mail_2="2@gmail.com";
$mail_3="3@gmail.com";
$mail_4="4@gmail.com";
// conditionnelle pour le mail
if( in_array($ville_a, $list['f_13'] ) )
$mail = $mail_1;
elseif( in_array($ville_b, $list['f_13'] ) )
$mail = $mail_2;
elseif( in_array($ville_c, $list['f_13'] ) )
$mail = $mail_3;
elseif ( in_array($ville_d, $list['f_13'] ) )
$mail = $mail_4;
else
$mail = $mail_4;
// adresse mail
if(mail($mail, $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
Mais voilà tout arrive dans le premier mail quelque soit le choix... peut être à cause de la liste
Merci