Formulaire php choix destinataires

Résolu
Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   -  
 eddy -
Bonjour,

Pour aller plus vite et sans obliger les personnes a renter les adresses mails, je souhaiterais faire un formulaire php.

Ce que je souhaite faire:

Des cases a cocher = destinataire(s)

un champs objet = objet

une zone de texte = message

Ce que je sais faire:

Case a cocher, le champs objet, la zone de texte.

Là ou je bloque:


Je ne sais pas si c'est possible ! Je souhaite que les cases cochées soit en faite l'adresse mail de réception du formulaire, il peut y avoir 1 personne cochées comme 30.
comment faire? Est-ce possible?

Merci, bonne soirée
Configuration: Windows XP
Firefox 2.0.0.14

3 réponses

  1. R4f Messages postés 441 Statut Membre 62
     
    Dans le formulaire HTML :

    <ul>
    <li><input type="checkbox" name="destinataire[]" value="aude@vaisselle.net"> Aude Vaisselle</li>
    <li><input type="checkbox" name="destinataire[]" value="jean@bon.fr"> Jean Bon</li>
    <li><input type="checkbox" name="destinataire[]" value="Wladimir@Pourlavaisselle.org"> Wladimir Pourlavaisselle</li>
    <li><input type="checkbox" name="destinataire[]" value="Seb@cestbien.com"> Seb Cébien</li>
    </ul>
    


    Dans le code PHP :

    print_r($_POST[destinataire]);
    


    Raph
    0
    1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
       
      Bonjour,

      Merci, je teste.

      Bonne journée
      0
    2. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
       
      bonjour,

      ça ne fonctionne pas !

      quand je clic sur envoyer, les messages n'arrive pas. J'ai ceci qui s'affiche:
      Array ( [0] => adresse1@hotmail.fr [1] => adresse2@yahoo.fr )

      Ce message est présent avec une case cochée ou 2 pour cette exemple.

      Merci pour votre aide

      Voici le code complet de ma page php. (CE NE SONT PAS LES VRAIES ADRESSE MAILS!)

      <?php
      // N'afficher que les erreurs, pas les avertissements...
      ini_set("error_reporting", "E_ALL & ~E_NOTICE");
      
      $email_dest = print_r($_POST[destinataire]);
      
      if ($_POST['envoi']) {
      
      // E-mail headers:
      $headers ="MIME-Version: 1.0 \n";
      $headers .="From: monsite<mail>\n";
      
      
      $headers .="Content-Type: text/html; charset=iso-8859-1 \n";
      
      $subject = $_POST['champs1'];
      
      $partie_entete = "<html><head>
      <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
      </head>
      <body bgcolor=#FFFFFF>";
      
      for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
      $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
      }
      
      if ($_POST['nbre_zone_email'] != 0) {
      $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
      }
      
      if ($_POST['nbre_zones_texte'] != 0) {
      $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
      $partie_zone_texte = stripslashes($partie_zone_texte);
      }
      
      $fin = "</body></html>";
      
      $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
      
      // Send the e-mail
      if (@!mail($email_dest,$subject,$sortie,$headers)) {
      echo("Envoi du formulaire impossible");
      } else { // Closing if !mail...
      
      // Renvoi à la page de remerciement
      header("Location:1.php");
      exit();
      
      } // Fin du else
      } // Closing if edit
      ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Document sans titre</title>
      <script language="JavaScript">function verifSelection() {if (mail_form.zone_texte.value == "") {
      alert("Il manque le message !")
      return false
      } } // Fin de la fonction
      
      </script>
      </head>
      
      <body>
      <form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
        <div align="center"></div>
      <p align="center">
      <table width="566" border="0" align="center">
      <p align="center"></p>
      <tr>
        <td>Destinataire(s), cocher les cases.</td>
        <td><ul>
      <li><input type="checkbox" name="destinataire[]" value="adresse1@hotmail.fr"> MSN moi</li>
      <li><input type="checkbox" name="destinataire[]" value="adresse2@yahoo.fr"> Site</li>
      <li><input type="checkbox" name="destinataire[]" value="Wladimir@Pourlavaisselle.org"> Wladimir Pourlavaisselle</li>
      <li><input type="checkbox" name="destinataire[]" value="Seb@cestbien.com"> Seb Cébien</li>
      </ul></td>
      </tr>
      <tr>
            <td><font face="Verdana" size="2">Objet</font></td>
            <td><input name="champ1" type="text"></td>
          </tr><tr>
            <td valign="top"><font face="Verdana" size="2">Message</font></td>
            <td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
          </tr><tr>
            <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1">
              <input name="nbre_zones_texte" type="hidden" value="1">
      <input name="nbre_zone_email" type="hidden" value="0">
      <input name="titre_champ1" type="hidden" value="Objet"><input name="titre_zone" type="hidden" value="Message"></td>
            <td><div align="center">
      <input type="reset" name="Reset" value="Effacer">          
      <input type="submit" name="envoi" value="Envoyer">
              </div></td>
          </tr>
        </table>
        <div align="center"></div>
      </form>
      </body>
      </html>
      


      Merci, Bonne journée
      0
  2. R4f Messages postés 441 Statut Membre 62
     
    Normal, print_r est destiné à imprimer la structure de ce qu'on lui passe en paramètre, donc ça marche, il écrit qu'il s'agit bien d'un tableau ayant 2 élements...

    Pour récupérer ces informations et en faire un champ de destinataires, il faut transformer la ligne :
    $email_dest = print_r($_POST[destinataire]);


    Et y mettre à la place :
    $email_dest = implode(', ', $_POST[destinataire]);


    Raph
    0
    1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
       
      Merci

      ça fonctionne comme je le souhaitais.

      Bonne fin de journée
      0
  3. eddy
     
    Bonjour,

    Je suis débutant et je n'arrive pas a faire fonctionner mon formulaire newsletter. Pouvez vous me donner un coup de main sur ce problème de premier choix.

    Je ne reçois pas l' Email de confirmation

    Pouvez-vous adapter <?php……?> avec <form>……</form>

    Le lien de ma page: http://www.cijoint.fr/cjlink.php?file=cj200910/cijyw5NMrK.txt

    <head>

    <?php if($_POST['action'] == "formok")
    {
    $e_mail = $_POST['email'];
    if($e_mail == ""|| $e_mail == "e-mail")
    {
    $txt = " votre e-mail";
    }
    else
    {
    $destinataire= "bwba@hotmail.fr";
    $objet = "Demande d'inscription";
    $headers = "From: bwba@hotmail.fr \n\r";
    $headers.= "Content-Type: text/html; charset=utf-8";
    $headers .= "MIME-Version: 1.0 ";
    $msg = "Nous vous informons d'une demande d'inscription suivant : ". $e_mail ."";
    $msg = nl2br($msg);
    mail($destinataire, $objet, $msg, $headers);
    $msg2= "
    Nous avons bien pris en compte votre demande d'inscription ? la newsletter.
    Pour vous d?sinscrire, contactez nous

    ";
    mail($e_mail, $objet, $msg2, $headers);
    $txt = "Vous avez un message";
    }
    }
    ?>
    </head>

    <style type="text/css">
    body {
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:60%;
    margin:50px;
    color:#666666;}
    .fieldset {
    width:300px;
    border: 0px solid red;
    }
    .fieldset label {
    text-align:right;
    width:70px;
    float:left;
    padding:0.2em;
    margin:0;
    margin-top:0.3em;
    }
    .fieldset .nobr {display:none;} .fieldset .textfield {
    margin:3px;
    height:20px;
    width:200px;
    border:solid 1px #8caf10;
    background: transparent url("http://") no-repeat;
    }
    .fieldset .textarea {
    margin:3px;
    height:165px;
    width:200px;
    border:solid 0 #fff;
    }
    .submit {
    margin:3px;
    height:20px;
    border:solid 1px #8caf10;
    width:80px;
    font:1.1em Verdana, Arial, Helvetica, sans-serif;
    color:#000000;
    text-transform:uppercase;
    background: transparent url("http://") no-repeat;
    }
    }
    </style>

    <body>

    <form action="" method="post">
    <fieldset class="fieldset"><br>
    <span class="" style="direction: ltr; text-align: left;"><label
    for="email"></label></span> <br class="nobr">
    <input name="email" class="textfield" id="email"
    type="text"> <span class=""
    style="direction: ltr; text-align: left;"><br>
    <span class="" style="direction: ltr; text-align: left;">
    <br class="nobr">
    <br>
    <label for="submit"> </label><br
    class="nobr">
    <input name="submit" class="submit" id="submit"
    value="envoyer" type="submit"></span></span></fieldset>
    </form>

    </body>
    0