Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
je sais pas si c'est une discussion que l'on peut poser sur ce forum j'ai besoin d'aide concernant un formulaire php de contact.
Voici mon codage html
Code: HTML
<form action="contactmail.php" method="post" name="contactmail" id="contactmail">
<table style="width: 566px; height: 318px;" border="0" cellpadding="4" cellspacing="1">
<tbody>
<tr style="color: rgb(204, 0, 0);">
<td style="width: 362px;" colspan="2">
<div class="Style1" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><strong>Formulaire
pour nous contacter :</strong> </font></div>
</td>
</tr>
<tr>
<td style="width: 181px;">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span style="color: black;">Votre adresse mail</span> :</font></div>
</td>
<td style="width: 362px;"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input name="mail" id="mail" size="20" maxlength="100" type="text" /> </font></td>
</tr>
<tr>
<td style="color: black; width: 181px;">
<div align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><label for="objet">Objet
du mail :</label> </font></div>
</td>
<td style="width: 362px;"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input name="objet" size="20" maxlength="100" type="text" /> </font></td>
</tr>
<tr>
<td style="width: 181px;" align="right" valign="top"> <font style="color: black;" face="Verdana, Arial, Helvetica, sans-serif" size="2">
<label for="msg">Votre
message :</label> </font>
<div align="right"></div>
<div align="right"></div>
</td>
<td style="width: 362px;"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<textarea name="msg" cols="40" rows="4"></textarea></font></td>
</tr>
<tr>
<td style="width: 181px;"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span class="Style3"></span></font></td>
<td style="width: 362px;"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input name="submit" value="Envoyer le message" type="submit" /> </font></td>
</tr>
</tbody>
</table>
Voici mon coage du fichier contactmail.php
Code: PHP
<div align="center">
<p><em>Retour </em> <a href="http://www.domaine.fr"><strong>Accueil</strong></a></p>
<p> </p>
<p> </p>
</div>
<p>
<?php
session_start();
$exp = $_POST['mail'];
$objet = stripslashes($_POST['objet']);
$msg = stripslashes($_POST['msg']);
$envoi=mail("MAIL", $objet, $msg,"From: $exp\r\n"."Reply-To: $exp\r\n");
if($envoi) echo"Le mail a bien ete envoyer !";
else echo"L'envoi a echoue, merci de renouveller l'operation !";
session_unset();
session_destroy();
?>
</p>
Et voici le codage du traitement.php
Code: PHP
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'MAIL';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// 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.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"annuaire.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
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.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['msg'])) ? Rec($_POST['msg']) : '';
// 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é
if (($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:'.$email.' <'.$email.'>' . "\r\n" .
'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);
// 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="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Je l'ai testé mais je ne reçois jamais les mails... Pouvez-vous m'aider ? Merci
Nous avons la boîte magique et vous les secrets, pourquoi ne pas les partager avec nous ?
Hors ligne
Pages : 1