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
|
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monmail@monmail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !
Une copie de votre demande vous a été envoyé par email.
Revenir sur la <a href=\"accueil.html\">page d'accueil</a>.";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs marqués d'un * soient bien remplis et que l'email soit sans erreur.";
// autre
$objet = 'Demande de devis : '.$societe.'' ;
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* 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.
$civilite= (isset($_POST['civilite'])) ? Rec($_POST['civilite']) : '';
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$produit = (isset($_POST['produit'])) ? Rec($_POST['produit']) : '';
$demande = (isset($_POST['demande'])) ? Rec($_POST['demande']) : '';
// 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é
// Ces variables sont obligées d'être rempli sinon erreur
if (($civilite != '') && ($nom != '') && ($societe != '') && ($email != '') && ($cp != '') && ($produit != '') && ($demande!= ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: '.$civilite.' '." ".' '.$nom.' <'.$email.'>' . "\r\n" .
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
'Reply-To:'.$email. "\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);
// afficher les accents
$demande = str_replace("à","à",$demande);
$demande = str_replace("è","è",$demande);
$demande = str_replace("é","é",$demande);
$message ='Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .='Content-Transfer-Encoding: 8bit';
$message = 'DEMANDE DE DEVIS'."\n".
''."\n".
'<br/><br/>Nom : <span style="color: #990000" >'.$civilite.''." ".''.$nom.'</span>'."\n".
'<br/>Prénom : <span style="color: #990000" > '.$prenom.'</span>'."\n".
'<br/>Société : <span style="color: #990000" > '.$societe.'</span>'."\n".
'<br/>Téléphone : <span style="color: #990000" > '.$tel.'</span>'."\n".
'<br/>Fax : <span style="color: #990000" > '.$fax.'</span>'."\n".
'<br/>Email : <span style="color: #990000" > '.$email.'</span>'."\n".
'<br/>Adresse : <span style="color: #990000" > '.$adresse.'</span>'."\n".
'<br/>Code postal : <span style="color: #990000" > '.$cp.'</span>'."\n".
'<br/>Ville : <span style="color: #990000" > '.$ville.'</span>'."\n".
'<br/>Type de produit(s) : <span style="color: #990000" > '.$produit.'</span>'."\n".
''."\n".
'<br/><br/>La demande : <span style="color: #990000" > '."".''."\n".
'<br/> '.$demande.'</span>';
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="javascript:history.back()">Retour</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?> |
Partager