Formulaire php choix destinataires

Résolu/Fermé
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 - 18 avril 2008 à 20:58
 eddy - 28 oct. 2009 à 02:13
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
A voir également:

3 réponses

R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
18 avril 2008 à 23:07
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
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
19 avril 2008 à 08:41
Bonjour,

Merci, je teste.

Bonne journée
0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
19 avril 2008 à 09:10
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
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
19 avril 2008 à 13:55
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
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
19 avril 2008 à 18:31
Merci

ça fonctionne comme je le souhaitais.

Bonne fin de journée
0
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