1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
| <!-- DEBUT DU SCRIPT nadform.php-->
<html>
<head>
</head>
<body>
<?
/* Ce script a été développé par Nadine Gaine.
Modifications et ajouts par Daniel Maleville
Vous pouvez l'utiliser gratuitement à des fins NON-COMMERCIALES seulement, et le modifier à votre convenance.
Trouvé sur <a href="http://www.toulouse-renaissance.net/c_outils/" target="_blank">http://www.toulouse-renaissance.net/c_outils/</a>
*/
//
// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ4) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ4)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ4)) ) {
$host = explode('@', $champ4);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "vous@nom_domaine.com"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "autre-mail@domaine.com"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Sujet du message"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "From: <a href="mailto:expediteur@nom_domaine.com">expediteur@nom_domaine.com</a>"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
// Quelques hébergeurs obligent que le domaine du mail de l'expéditeur soit celui de votre site
$min_size="3"; // Longueur minimum du message
$max_size="5000"; //Longueur maximum du message
/* Les routines suivantes permettent à chacune des variables de prendre la valeur des champs du formulaire et de les stocker ensuite dans la variable globale MailBody qui constituera le corps du message */
$Envoi = 1; //initialisation de la variable envoi à 1
/* Pour enlever une condition de vérification de champ (vide ou non), enlever, par exemple au champ 1 :
*
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le champ 1.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
}
et ne laisser que :
$MailBody .= "Question 1 : $champ1\n";
*/
//
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le champ 1.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Question 1 : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == ""){
echo("Vous n'avez pas complété le champ 2.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 2 : $champ2\n";
}
if ($champ3 == ""){
echo("Vous n'avez pas complété le champ 3<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 3 : $champ3\n";
}
if ($champ4 == ""){
echo("Vous n'avez pas complété le champ 4<br>");
$Envoi = 0;
}
else {
if (check_mail($champ4)) {
$MailBody .= "Mail : $champ4\n";
}
else {
echo("L'adresse e-mail du champ 4 n'est pas valide<br>");
$Envoi = 0;
}
}
if ($champ5 == "0"){
echo("Vous avez oublié de choisir une valeur dans le menu déroulant.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 5 : $champ5\n";
}
if ($champ6 == ""){
echo("Vous avez oublié le texte.<br>");
$Envoi = 0;
}
elseif (strlen($champ6) <= $min_size) {
echo("Votre message est trop petit.<br>");
$Envoi = 0;
}
elseif (strlen($champ6) >= $max_size) {
echo("Votre message est trop long.");
$Envoi = 0;
}
else {
$affich_champ6 = htmlentities($champ6); // affiche le code HTML à l'état brut.
$affich_champ6 = StripSlashes($affich_champ6); // enlève, au texte affiché, les \ aux apostrophes, exemple : l\'habitude
$envoi_champ6 = StripSlashes($champ6); // enlève les \ aux apostrophes, exemple : l\'habitude
$MailBody .= "Votre texte : $envoi_champ6\n";
}
if ($champ7 == ""){
echo("Vous n'avez pas précisé votre choix à la question 7.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 7 : $champ7\n";
}
//Routine pour les cases à cocher
$MailBody .="Question 8 : ";
$items = 3; //initialisation du nombre d'items possibles
for ($i = 1; $i <= $items; $i++) { //boucle sur le nombre d'items
$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}
if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
echo("<p><strong>Votre nom ou pseudo : <font color=\"#0000FF\">$champ1</font>\n");
echo("<br>Votre prénom : <font color=\"#0000FF\">$champ2</font>\n");
echo("<br>Votre e-mail : <font color=\"#0000FF\">$champ3</font>\n");
echo("<br>Votre URL : <font color=\"#0000FF\">$champ4</font>\n");
echo("<br>Votre catégorie: <font color=\"#0000FF\">$champ5</font>\n");
echo("<br>Votre texte : <font color=\"#0000FF\">$affich_champ6</font>\n");
echo("<p> </p>");
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
//mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"index.htm\">Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>
<!-- FIN DU SCRIPT nadform.php--> |
Partager