Ajout de boutons, menus déroulant... dans formulaire mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ajout de boutons, menus déroulant... dans formulaire mail

Re: Ajout de boutons, menus déroulant... dans formulaire mail

par Bertrand34 » 16 mars 2011, 18:53

Merci, je vais me plonger dedans.

Re: Ajout de boutons, menus déroulant... dans formulaire mail

par moogli » 16 mars 2011, 15:30

Re: Ajout de boutons, menus déroulant... dans formulaire mail

par Bertrand34 » 16 mars 2011, 08:02

C'est tout à fait ça. Je n'arrive pas bien à ajouter le code HTML (mal placé lorsque je regarde dans le navigateur), pour tester, j'ai juste réussit à modifier la partie traitement PHP de "Objet" et l'information saisie dans ce champ apparaît bien dans le corps du texte du mail reçu, mais il apparaît aussi dans le champs "Sujet" du mail reçu. Je pense donc que c'est le traitement PHP qui pose problème, en tout cas ça me dépasse car le PHP est tout nouveau pour moi. Pour info, ce formulaire est disponible à http://dt-etudes.com/ dans sa version non retouchée. Merci pour votre aide.

Re: Ajout de boutons, menus déroulant... dans formulaire mail

par misterflo » 15 mars 2011, 21:38

Salut,
il manque pas mal d'explications.
Tu veux ajouter des champs radio, menu déroulant ... ok, mais ce qui te pose problème :
- C'est au niveau de l'ajout des champs en code HTML ?
- Au niveau du traitement PHP de ces champs ?
etc.

Avec plus de précisions il serait bien plus facile de t'aider :wink:

Ajout de boutons, menus déroulant... dans formulaire mail

par Bertrand34 » 15 mars 2011, 21:00

Bonjour,

J'ai un site en html et ne comprend pas bien le PHP et pour des raisons pratique, je suis obligé d'utiliser un formulaire mail en PHP. Jusque là j'ai réussit à le modifier à ma convenance mais maintenant je sèche complètement : je souhaite ajouter des boutons radio, menus déroulant et zones de texte et retirer la zone message. J'ai beau triffouiller, rien ne marche. Si quelqu'un pouvait m'aider, ça serait vraiment sympa. Voici le formulaire :

<?php session_start(); ?>
<?php
$cryptinstall="cryptographp.fct.php";
include $cryptinstall;
?>

<?php
$email_webmaster = "E - M A I L";
// === traitement des données du formulaire ============================================================
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
$etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));
}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur="<span class=GramE><b style='mso-bidi-font-weight:normal'><p align=left><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Saisissez votre adresse e-mail...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="<span class=GramE><b style='mso-bidi-font-weight:normal'><p align=left><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Votre adresse e-mail est erronée...";
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur="<span class=GramE><b style='mso-bidi-font-weight:normal'><p align=left><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Saisissez votre message...";
}
elseif (empty($_POST["code"])) {
// le code n'est pas saisi
$erreur="<span class=GramE><b style='mso-bidi-font-weight:normal'><p align=left><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Saisissez le code anti-spam...";
}

else {
// --- Vérification de la validité du code captcha ---
if (chk_crypt($_POST['code']))
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
// --- Le code captcha n'est pas valide ---
else $erreur="<span class=GramE><b style='mso-bidi-font-weight:normal'><p align=left><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Le code anti-spam est erroné...";
}
}

else {
// --- le formulaire n'a pas été soumis ---
$etat="attente";
}
// === fin de traitement des données du formulaire =======================================================
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>T I T R E D U S I T E E T M O T S C L E S</title>
<LINK REL="SHORTCUT ICON" HREF="http://S I T E/image_icon.ico">
<SCRIPT LANGUAGE="JavaScript">
if (parent.frames.length < 1)
{
document.location.href = 'http://S I T E';
}
</SCRIPT>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-15" />
<style type="text/css">

input {
border: 1px #000000 solid;
}
textarea {
border: 1px #000000 solid;
}
</style>
</head>
<body bgcolor="#FFFFFF" lang=FR link="#FF0000" vlink="#FF0000" TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0>
<div align=center>

<table class=MsoTableGrid border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0cm 0cm 0cm 0cm'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
<td valign=top style='padding:0cm 0cm 0cm 0cm'>
<?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>\n";
// afficher le message d'erreur
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p><p align=left><label for="email_expediteur"><span class=GramE><b style="color:#000000"><span
style='font-size:10.0pt;font-family:Verdana'>E-mail</label><br />
<input style="background-image: url(/I M A G E.E X T E N S I O N);font-size:10.0pt;font-family:Verdana;color:#000000;font-weight:bold" type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
</p>
<p><p align=left><label for="titre"><span class=GramE><b style="color:#000000"><span
style='font-size:10.0pt;font-family:Verdana'>Objet</label><br />
<input style="background-image: url(/I M A G E.E X T E N S I O N);font-size:10.0pt;font-family:Verdana;color:#000000;font-weight:bold" type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le réafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
</td>
<td valign=top style='padding:0cm 0cm 0cm 0cm'>
<p class=MsoNormal align=right style='text-align:right'><span class=SpellE><iframe SRC="/iframe_P A G E.htm" scrolling="no" height="0" width="0" FRAMEBORDER="no"></iframe></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
<td colspan=2 valign=top style='padding:0cm 0cm 0cm 0cm'>
<table class=MsoTableGrid border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0cm 0cm 0cm 0cm'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
<td valign=top style='padding:0cm 0cm 0cm 0cm'>
<align=left><label for="message"><span class=GramE><b style="color:#000000"><span
style='font-size:10.0pt;font-family:Verdana'>Message</label><br />
</td>
</tr>
</table>
<textarea style="background-image: url(/I M A G E.E X T E N S I O N);font-size:10.0pt;font-family:Verdana;color:#000000;font-weight:bold" name="message" id="message" cols="80" rows="10"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p><p align=left>
<?php dsp_crypt(0,1); ?>
<p><p align=left><label for="titre"><span class=GramE><b style="color:#000000"><span
style='font-size:10.0pt;font-family:Verdana'>Code anti-spam</label><br />
<input style="background-image: url(/I M A G E.E X T E N S I O N);font-size:10.0pt;font-family:Verdana;color:#000000;font-weight:bold" type="text" name="code" /></p>
<p><p align=left><input style="background:#FFFFFF;font-size:10.0pt;font-family:Verdana;color:#000000;font-weight:bold" type="submit" name="envoyer" value="Envoyer le message" />
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){
// mail envoyé
echo "<span class=GramE><b style='mso-bidi-font-weight:normal'><p class=MsoNormal><o:p></o:p></p><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Le message a été envoyé :\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">saisir un nouveau message</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "<span class=GramE><b style='mso-bidi-font-weight:normal'><p class=MsoNormal><o:p></o:p></p><span
style='font-size:10.0pt;font-family:Verdana;color:#000000'>Le message n'a pas pu être envoyé :\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">recommencer</a>\n";
}
}
?>
</td>
</tr>
</table>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>
</body>
</html>