Salut à tous,
Décidement, je bataille avec les formulaires en ce moment...
Le code fonctionne en local mais dès que je le teste en ligne, rien, nada, quedalle, le mail n'est visiblement pas expédié, je seche comme une méduse au soleil... helpppppp !!!
EDIT : désole pour le formatage en html mais sinon seuls 10% du code s'affichent...
Modifié par Samiaule (11 Sep 2009 - 08:31)
Décidement, je bataille avec les formulaires en ce moment...
Le code fonctionne en local mais dès que je le teste en ligne, rien, nada, quedalle, le mail n'est visiblement pas expédié, je seche comme une méduse au soleil... helpppppp !!!
EDIT : désole pour le formatage en html mais sinon seuls 10% du code s'affichent...
<?php
$email_webmaster = "monemail@domaine.fr";
// === 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["Phone"])) {
$_POST["Phone"]=trim(stripslashes($_POST["Phone"]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));
}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur=TXT_Erreur1;
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur=TXT_Erreur2;
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur=TXT_Erreur3;
}
else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
}
}
else {
// --- le formulaire n'a pas été soumis ---
$etat="attente";
}
// === fin de traitement des données du formulaire =======================================================
?>
<h3><?php echo TXT_Contact; ?></h3>
<?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 htmlentities($_SERVER['PHP_SELF']); ?>">
<p><label for="email_expediteur"><?php echo TXT_Mail; ?></label><br />
<input type="text" size="40" name="email_expediteur" 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);
}
?>" />
</p>
<p><label for="titre"><?php echo TXT_Objet; ?></label><br />
<input type="text" size="40" 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="phone"><?php echo TXT_Phone; ?></label><br />
<input type="text" size="40" name="phone" id="phone" value="<?php
if (!empty($_POST["phone"])) {
echo htmlspecialchars($_POST["phone"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="message"><?php echo TXT_Message; ?></label><br />
<textarea name="message" id="message" cols="40" rows="10"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p>
<p><input type="submit" name="envoyer" value="<?php echo TXT_Envoi; ?>" />
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$msg = 'Tel : '.$_POST["phone"]."\n".'Message : '.$_POST["message"]."\n".'Email : '.$_POST["email_expediteur"];
if (mail($email_webmaster,$_POST["titre"],$msg,$entete)){
// mail envoyé
echo TXT_MessOK;
echo TXT_NewMail;
}
else {
// erreur lors de l'envoi du mail
echo TXT_Problem;
echo TXT_Retry;
}
}
?>
Modifié par Samiaule (11 Sep 2009 - 08:31)