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 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
| <?php
$nav_en_cours = 'contact';
include("includes/doctype.php"); ?>
<title>Jardinamel - Jardinage et photo numérique, Contact</title>
<?php
include("includes/head_menu.php"); ?>
<div id="content">
<h1>Contactez - moi</h1>
<h5 class="center">Pour ceux qui souhaitent me contacter pour tout renseignement complémentaire et recevoir une réponse.</h5>
<p class="contact"><strong>Votre adresse email ne sera pas visible et en aucun cas divulguée. Merci et à bientôt !</strong><br>
<span class="rouge">Tous les champs sont obligatoires</span></p>
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'xxxxxxxx@orange.fr';
// copie ? (envoie une copie au visiteur)
$copie = 'oui';
// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
* NoSpamQuestion affiche une question pour la validation d'un formulaire ...
* $mode, mode question ou réponse par défaut tirage au sort de question {string}
* $answer, lors de la demande d'une réponse à la question numero tant ... {int}
*
* @returns array
*
* Ajouter une question :
* copier/coller ces lignes et remplir le contenu entre guillemets doubles :
*
* $array_pictures[$j]['num'] = $j; // ne pas changer cette ligne
* $array_pictures[$j]['question'] = "mettre ici la question (correspondant à l'image si vous utilisez une image)";
* $array_pictures[$j]['answer'] = "mettre ici la réponse à l'énigme";
* $j++; // ne pas oublier cette ligne dans la copie :-)
*
* C'est tout. Question suivante ? :-)
*
*/
function NoSpamQuestion($mode = 'ask', $answer = 0)
{
$array_pictures = array(); $j = 0;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<span class="rouge">Quelle est la cinquième lettre du mot Astux ?</span>';
$array_pictures[$j]['answer'] = "x";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<span class="rouge">Le soleil est-il chaud ou froid ?</span>';
$array_pictures[$j]['answer'] = "chaud";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<span class="rouge">Ecrire 12 en lettres</span>';
$array_pictures[$j]['answer'] = "douze";
$j++;
if ($mode != 'ans')
{
// on est en mode 'tirer au sort', on tire une image aléatoire
$lambda = rand(0, count($array_pictures)-1);
return $array_pictures[$lambda];
}
else
{
// on demande une vraie réponse
foreach($array_pictures as $i => $array)
{
if ($i == $answer)
{
return $array;
break;
};
};
}; // Fin if ($mode != 'ans')
};
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on tire au sort une question
$nospam = NoSpamQuestion();
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// formulaire envoyé, on récupère tous les champs.
$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']) : '';
$antispam_h = (isset($_POST['antispam_h'])) ? Rec($_POST['antispam_h']) : '';
$antispam_r = (isset($_POST['antispam_r'])) ? Rec($_POST['antispam_r']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
if (isset($_POST['envoi']))
{
// On demande la vraie réponse
$verif_nospam = NoSpamQuestion('ans', $antispam_r);
if (strtolower($antispam_h) != strtolower($verif_nospam['answer']))
{
// le formulaire s'arrête ici
echo '<p>Vous n\'avez pas répondu correctement à la question Antispam ...</p>';
}
else
{
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.';'.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$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);
// Envoi du mail
$num_emails = 0;
$tmp = explode(';', $cible);
foreach($tmp as $email_destinataire)
{
if (mail($email_destinataire, $objet, $message, $headers))
$num_emails++;
}
if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
{
echo '<p>'.$message_envoye.'</p>';
}
else
{
echo '<p>'.$message_non_envoye.'</p>';
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.'</p>';
$err_formulaire = true;
};
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '
<form id="form_contact" method="post" action="'.$form_action.'">
<div class="form">
<fieldset class="fieldset"><legend> Vos coordonnées </legend>
<p><label for="nom">Nom : </label><input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /></p>
<p><label for="email">Email : </label><input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" /></p>
</fieldset>
<fieldset class="fieldset"><legend> Votre message : </legend>
<p><label for="objet">Objet : </label><input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" /></p>
<p><label for="message">Message : </label><textarea id="message" name="message" tabindex="4" cols="50" rows="8">'.stripslashes($message).'</textarea></p>
</fieldset>
<fieldset class="fieldset"><legend> Antispam </legend>
<p><label for="antispam_h">'.$nospam['question'].' </label><input type="text" name="antispam_h" id="antispam_h" /><input type="hidden" name="antispam_r" value="'.$nospam['num'].'" /></p>
</fieldset>
<p><input class="sendButton" type="submit" name="envoi" value="ENVOYER !" /></p>
</div>
</form>';
};
?>
<br>
<?php
//On inclut le bas de page
include("includes/footer.php"); ?> |
Partager