Problème code => mail ()
Dernière réponse : dans Programmation
Bonjour, je ne comprend pas pourquoi mon code ne marche pas. Quand je clique sur envoyer, ça ne fait rien.
merci d'avance.
merci d'avance.
<?php
$email_webmaster = "monemail@serv.fr";//// indiquer votre adresse email /////
// === 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"]));
}
}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur="Saisissez votre adresse email...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="Votre adresse e-mail n'est pas valide...";
}
else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
// --- 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"
"<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
<html xml:lang="fr" lang="fr" xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulaire de contact</title>
</head>
<body>
<div align="center">
<h1> </h1>
<h1> </h1>
<h1> </h1>
<?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"]; ?>">
<h2>Contacter le webmaster (le nom de votre site)</h2><!-- mettre le nom de votre site ou autre -->
<blockquote>
<p>
<label for="email_expediteur"> Votre adresse e-mail (obligatoire):</label>
<br />
<input name="email_expediteur" type="text" class="minuscule" 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);
}
?>" size="60" />
</p>
<p>
<label for="titre">Titre de message (facultatif):</label>
<br />
<input type="text" size="100" 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>
<p>
<label for="message"></label>
<br />
</p>
</blockquote>
<div align="center">
<p><input type="submit" name="envoyer" value="Envoyer" />
</p></div>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
/* sécurisation maximum du formulaire */
function saut_ligne1($_SL1) /* première fonction pour remplacer les sauts de ligne du textarea par balise propre slt */
{
$patternssl1[0] = '/\n/';
$replacementstsl1[0] = "<sautlignemessage>";
return preg_replace($patternssl1,$replacementstsl1,$_SL1);
}
function saut_ligne2($_SL2) /* deuxième fonction pour remplacer les balises propre slt en slt standard */
{
$patternssl2[0] = '/<sautlignemessage>/';
$replacementstsl2[0] = "\n";
return preg_replace($patternssl2,$replacementstsl2,$_SL2);
}
function PAMTI($_stringt) /* troisième fonction éviter les injection autre destinataire dans le message */
{
$patternst[0] = '/BCC:/i';
$patternst[1] = '/CC:/i';
$patternst[2] = '/bcc/i';
$patternst[3] = '/cc/i';
$replacementst[0] = 'erreur';
$replacementst[1] = 'erreur';
$replacementst[2] = 'erreur';
$replacementst[3] = 'erreur';
return preg_replace($patternst,$replacementst,$_stringt);
}
function PAMHI($_string) /* quatrième fonction éviter les injections autre destinataire dans les autres champ du message */
{
$patterns[1] = '/BCC:/i';
$patterns[2] = '/cc:/i';
$patterns[3] = '/bcc/i';
$patterns[4] = '/cc/i';
$patterns[5] = '/,/';
$patterns[6] = '/To/i';
$patterns[7] = '`[\x00-\x1F"]`';
$replacements[1] = 'erreur';
$replacements[2] = 'erreur';
$replacements[3] = 'erreur';
$replacements[4] = 'erreur';
$replacements[5] = 'erreur';
$replacements[6] = 'erreur';
$replacements[7] = 'erreur';
return preg_replace($patterns,$replacements,$_string);
}
function PAMETI($_string) /* cinquième fonction éviter les injections autres destinataires dans le header du message */
{
$patterns[1] = '/BCC:/i';
$patterns[2] = '/CC:/i';
$patterns[3] = '/bcc/i';
$patterns[4] = '/cc/i';
$patterns[5] = '/,/';
$patterns[6] = '/To/i';
$replacements[1] = 'erreur';
$replacements[2] = 'erreur';
$replacements[3] = 'erreur';
$replacements[4] = 'erreur';
$replacements[5] = 'erreur';
$replacements[6] = 'erreur';
return preg_replace($patterns,$replacements,$_string);
}
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "MIME-Version: 1.0";
$message=saut_ligne1($_POST["message"]);
$message_envoye=saut_ligne2($message);
if (@mail(PAMHI($email_webmaster),PAMHI($_POST["titre"]),PAMTI($message_envoye),PAMETI($entete))){
// mail envoyé
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
}
}
?>
<div align="center">
<input type=button value="Fermer le Formulaire" onclick="javascript:self.close();" />
</div></div>
</body>
</html>
Autres pages sur : probleme code mail
Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :