Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuites

Envoi checkbox par mail dans formulaire php

Forum informatique > Aide création et gestion de site > Envoi checkbox par mail dans formulaire php

<<<1>>>

[Page 1 sur 1 - 1 message]
Informations Messages

frugi

Avatar de frugi
5 messages
Neurone isolé
Neurone isolé

Lien direct Le 19 Juillet 2011 à 17h33

Bonjour,

J'ai un formulaire avec des cases à remplir et des checkbox. Voici le code HTML:

<form id="contact" method="post" action="formmail_coques.php">
<fieldset><legend>Vos coordonnées :</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
</fieldset>
<fieldset><legend>Choix couleur :</legend>
<input type="checkbox" name="couleur[]" value="Blanc"> Blanc
<input type="checkbox" name="couleur[]" value="Jaune"> Jaune
<input type="checkbox" name="couleur[]" value="Rose clair"> Rose clair
<input type="checkbox" name="couleur[]" value="violet">Violet
<input type="checkbox" name="couleur[]" value="rouge">Rouge
<input type="checkbox" name="couleur[]" value="rose foncé">Rose foncé
<input type="checkbox" name="couleur[]" value="noir">Noir
<input type="checkbox" name="couleur[]" value="bleu clair">Bleu clair
<input type="checkbox" name="couleur[]" value="bleu foncé">Bleu foncé
<input type="checkbox" name="couleur[]" value="vert">Vert

</fieldset>
<fieldset><legend>Votre message :</legend>
<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
</fieldset>

<div style="text-align:center;"><input type="submit" name="envoi" value="Réserver" /></div>
</form>




Et voici mon code php qui envoi les réponses du formulaire par mail à mon adresse et à l'adresse mail rentrée dans le formulaire:

<?php

$destinataire = 'monadresse@live.fr';

$copie = 'oui'; // 'oui' ou 'non'

$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";



if (!isset($_POST['envoi']))
{

echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{

function Rec($text)
{
$text = trim($text);
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}


$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES);
$text = nl2br($text);
return $text;
};


function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};


$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';



$email = (IsEmail($email)) ? $email : '';

if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{

$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";


if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};


$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);


if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{

echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>




Tout s'envoie correctement par mail... mais je ne sais pas comment faire en sorte que les checkbox cochées soient elles aussi envoyées par mail...
Ajouter

$couleur = (isset($_POST['couleur'])) ? Rec($_POST['couleur']) : ''; 

ne fonctionne pas...
Comment faire?

Bonne fin de journée!

 

<<<1>>>

[Page 1 sur 1 - 1 message]

Forum informatique > Aide création et gestion de site > Envoi checkbox par mail dans formulaire php