[Résolu]Pb récupération plusieurs valeurs d'un formulaire dans un mail

Pb récupération plusieurs valeurs d'un formulaire dans un mail [Résolu] - PHP - Programmation

Marsh Posté le 15-09-2008 à 14:59:19    

Bonjour,  
j'ai créé le code php suivant afin de pouvoir récupérer les valeurs de champs d'un formulaire dans le corps d'un mail:
    <?php
if (isset($_POST['envoie']))  
 {
 //Pour afficher le Nom
 $message = "Nom : ";
 $message .= $_POST['nom'];
 //Pour afficher le prénom
 $message .= "\nPrenom : ";
 $message .= $_POST['prenom'];
 //Pour afficher l'adresse
 $message .= "\nAdresse : ";
 $message .= $_POST['adresse'];
 //Pour afficher le Code Postal
 $message .= "\nCode Postal : ";
 $message .= $_POST['cp'];
 //Pour afficher la ville
 $message .= "\nVille : ";
 $message .= $_POST['ville'];
 //Pour afficher le Téléphone
 $message .= "\nTelephone : ";
 $message .= $_POST['tel'];
 //Pour afficher l'email
 $message .= "\nEmail : ";
 $message .= $_POST['email'];
 //Pour afficher l'objet de la demande
 $message .= "\nObjet : ";
 //$r = count ($objet);
   foreach ($_REQUEST['objet'] as $obj)
 $message .= '  '. $obj;
 //Pour afficher le type de contact souhaité
 $message .= "\nContact : ";
 $message .= $_POST['contact'];
 //Pour afficher le descriptif de la demande
 $message .= "\nDescriptif : ";
 $message .= $_POST['descriptif'];
 $ret = mail("monnom@mondomaine.com", "Sujet", $message);
 if ($ret === true)
 
  echo "Votre demande a bien &eacute;t&eacute; prise en compte.";
 else
  echo "Tapez correctement les champs, s'il vous plaît";
}
else
{
?>
Je parviens à récupérer l'ensemble des valeurs dans le corps de mon mail sauf les valeurs multiples, s'il y en a, contenu dans des check box. En effet, lorsque j'envoie le formulaire, je ne récupère qu'une valeur du champs de mes check box, même si j'en ai coché 2 ou 3.
Dans la page qui s'affiche, un message d'erreur m'indique: Warning: Invalid argument supplied for foreach() . Je n'arrive pas à trouver un codage correct, après plusieurs heures de travail, pour parvenir à récupérer plusieurs valeurs ou variables différentes (par exemple un, deux, ou trois) qui se cachent derrière mes check box en même temps dans le corps de mon mail. Même avec le message d'erreur, je ne récupère toujours qu'une seule valeur de check box. Quelqu'un pourrais t'il m'aider en m'indiquant comment je pourrais faire pour arriver à modifier mon code ou dans quelle direction je dois réflechir pour y parvenir, car tout le reste fonctionne correctement. Merci d'avance pour tout conseil ou toute information.


Message édité par gri1ton le 16-09-2008 à 08:01:36
Reply

Marsh Posté le 15-09-2008 à 14:59:19   

Reply

Marsh Posté le 15-09-2008 à 18:44:35    

problème propre à php : il faut un 'name="unnom[]" ' au lieu du classique 'name="unnom" ' quand on veut récupérer plusieurs valeurs (php ne comprend toujours pas qu'on veut un tableau quand on reçoit plusieurs valeurs qui ont le même nom)

Reply

Marsh Posté le 16-09-2008 à 08:01:04    

Je viens d'essayer, en remplaçant dans mon formulaire, pour chaque name du check box name="unnom" par name="unnom[] et cela fonctionne parfaitement. Merci beaucoup pour m'avoir rappeler cette contrainte du php que j'avais oublié.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed