Problème récurrent avec php dans un formulair

Résolu/Fermé
Pseudo2608 Messages postés 25 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 4 février 2010 - 24 janv. 2010 à 19:55
Pseudo2608 Messages postés 25 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 4 février 2010 - 4 févr. 2010 à 00:06
Bonsoir
j'ai un problème avec un formulaire. Je ne reçois pas mes emails pourtant le message est bien envoyé !
Quelqu'un peut-il m'aider ?

Voici ci-dessous le formulaire html :

<?php
/** On démarre une session pour pouvoir récupérer le code généré */
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<html>
<head>

<title>Formulaire de contact - www.santfeliulocation.com - </title>

<link rel="stylesheet" media="screen" type="text/css" title="Design" href="formulaire.css" />

</head>

<h2>Si vous souhaitez nous contacter,</h2>
<h2>demandez une réservation ou une information :</h2>
<h2>veuillez remplir ce formulaire</h2>
<h4><strong>Tous les champs sont obligatoires</strong></h4>

<br />
<form action="email.php" method="post" class="formulaire">

<label for="nom">Votre nom :</label><input type="text"size="30" name="nom" id="nom" /><br />
<br />
<label for="prenom">Votre prénom :</label><input type="text" size="30" name="prenom" id="prenom" /><br />
<br />
<label for="email">Adresse Email :</label><input type="text" size="30" name="email" id="email" /><br />
<br />
<br />
<p><strong>Merci d'indiquer ci-dessous le nombre de personnes (adulte et enfant à partir de 2 ans) :</strong></p>
<label>Adulte(s) : </label>
<select name="adulte">
<option value="1 adulte">1 adulte</option>
<option value="2 adultes">2 adultes</option>
<option value="3 adultes">3 adultes</option>
<option value="4 adultes">4 adultes</option>
<option value="5 adultes">5 adultes</option>
</select>
<br />
<br />
<label>Enfant(s) : </label>
<select name="enfant">
<option value="1 enfant">1 enfant</option>
<option value="2 enfants">2 enfants</option>
<option value="3 enfants">3 enfants</option>
<option value="4 enfants">4 enfants</option>
</select>
<br />
<br />
<label for="comments">Votre message :</label><textarea name="comments" cols="50" rows="6"></textarea>
<br />
<br />
<input type="submit" value="Envoyer votre message" />
</form>
<br />
<br />
<a href="http://french-181442816024.spampoison.com"><img src="http://pics5.inxhost.com/images/sticker.gif" border="0" width="80" height="15"/></a>

</body>

</html>

___ ____ ___ ___ _____ ____ ___ ___ ____

Et voici le php :
<?
$TO=("sophie@santfeliulocation.com");

$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/>
<br/>";
$msg_ok = "Votre message a bien été envoyé.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','sophie@santfeliulocation.com');
define('MAIL_SUJET','Formulaire santfeliulocation.com');

//vérification des champs du formulaire
if (empty($_POST['nom']))
$message .="Votre nom :<br/>";
if (empty($_POST['prenom']))
$message.="Votre prénom :<br/>";
if (empty($_POST['email']))
$message .="Adresse Email :<br/>";
if (empty($_POST['adulte']))
$message .="Adulte(s) :<br/>";
if (empty($_POST['enfant']))
$message .="Enfant(s) :<br/>";
if (empty($_POST['comments']))
$message .="Votre message :<br/>";

// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;

// sinon c'est ok
} else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete = 'Formulaire santfeliulocation.com';
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps = "Message de : $nom $prenom\n";
$mail_corps .= "Adresse : $email\n";
$mail_corps .= "Adulte(s) : $adulte\n\n\n";
$mail_corps .= "Enfant(s) : $enfant\n\n\n";
$mail_corps .= $comments;

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

//Le mail est bien expédié
echo $msg_ok;
} else {

//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}
?>
A voir également:

2 réponses

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
24 janv. 2010 à 22:35
comment tu vois que ton "message" est bien envoyé ?
ton script m'a l'air correct
0
Pseudo2608 Messages postés 25 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 4 février 2010
25 janv. 2010 à 07:03
bonjour,
parce que j'ai un message ok qui me le dit avec le php...
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
31 janv. 2010 à 19:26
si tu programme un truc qui prends mal en compte la réalité de ton programme qui te dit "message envoyé" cela ne veut pas dire que l'envoi est vraiment ok. Preuve en est tu ne reçois rien..
0
Pseudo2608 Messages postés 25 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 4 février 2010
4 févr. 2010 à 00:06
bon encore moi... J'ai tenté de modifier mon php, voici le copié/collé ci-dessous... Si quelqu'un peut m'aider car ça foire...

<?php
$cryptinstall="./crypt/cryptographp.fct.php";
include $cryptinstall;
?>
<?php
$email_webmaster = "contact@santfeliulocation.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["nom"])) {
$_POST["nom"]=trim(stripslashes($_POST["nom"]));
}
if (isset($_POST["prenom"])) {
$_POST["prenom"]=trim(stripslashes($_POST["prenom"]));
}
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="Saisissez votre adresse email...";
}
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="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur="Saisissez un message...";
}
elseif (empty($_POST["code"])) {
// le code n'est pas saisi
$erreur="Saisissez le code de verification...";
}

else {
// --- Vérification de la validité du code captcha ---
if (chk_crypt($_POST['code']))
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
// --- Le code captcha n'est pas valide ---
else $erreur="Code de verification non valide ...";
}
}

else {
// --- 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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Formulaire de contact santfeliulocation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr"/>
<meta http-equiv="Pragma" content="no-cache" />
<meta name="google-site-verification" content="dSdhhmRSkC66WgVghrpLLzaXbPf-g3pcUtKRjy_oFs4" />
<title>santfeliulocation - nous contacter - Location saisonnière sans frais d'agence</title>
<meta name="robots" content="noarchive">
<meta name="keywords" content="page de contact, envoyer un mail au propriétaire" />
<meta name="description" content="Comment nous contacter ? santfeliulocation - nous contacter - Location saisonnière sans frais d'agence" />
<meta name="keywords" content="contact,pour nous envoyer un mail,@,nous contacter" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design_contact.css" />
<link rel="shortcut icon" type="image/x-icon" href="../images/ico/logo.ico" />
</head>
<body>
<!-- Rappel : c'est ici que l'on écrit le contenu de notre page web -->
<div id="en_tete"> <!-- en-tête -->
<h1>santfeliulocation.fr<h1/>
<h1>Location saisonnière d'un appartement front de mer à Sant Feliu de Guixols</h1>
</div>
</div>
<div>
<ul id="menu_horizontal"> <!-- menu horizontal -->
<li class="bouton_gauche"><a href="../accueil/index.html" title="Accueil">Accueil</a></li>
<li class="bouton_gauche"><a href="../photo/photographies.html" title="Photographies">Photos</a></li>
<li class="bouton_gauche"><a href="../photo/diaporama.html" title="Diaporama">Diaporama</a></li>
<li class="bouton_gauche"><a href="../tarif/tarif2010.html" title="Planning de disponibilités et Tarifs">Disponibilités et Tarifs</a></li>
<li class="bouton_droite"><a href="../liens/partenaires.html" title="Liens vers nos partenaires">Partenaires</a></li>
<li class="bouton_droite"><a href="../quisommesnous/quisommesnous.html"title="Qui sommes-nous ?">?</a></li>
<li class="bouton_droite"><a href="../contact/contact.php" title="Contact">Contact</a></li>
<li class="bouton_doite"><a href="../santfeliu/localisation.html" title="localisation">Sant Feliu</a></li>
</ul>
</div>
</div>
<div id="corps">
<br /><br />
<h2>Si vous souhaitez nous contacter,<br /><br /> demandez une réservation ou une information :</h2>
<br /><br />
<h3>veuillez remplir ce formulaire</h3>
<h4><strong>Tous les champs sont obligatoires</strong></h4>
<br /><br />
<br />
<?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"]; ?>?<?php echo SID; ?>">
<br /><br />
<label for="nom"><strong>Votre Nom :</strong></label><input type="text" size="40" name="nom" id="nom" value="<?php
if (!empty($_POST["nom"])) {
// le nom de l'expéditeur a été saisi: le réafficher
echo htmlspecialchars($_POST["nom"],ENT_QUOTES);
}
?>" />
<br /><br />
<label for="prenom"><strong>Votre prénom :</strong></label><input type="text" size="40" name="prenom" id="prenom"value="<?php
if (!empty($_POST["prenom"])) {
// le prénom de l'expéditeur a été saisi: le réafficher
echo htmlspecialchars($_POST["prenom"],ENT_QUOTES);
}
?>" />
<br /><br />
<label for="email_expediteur"><strong>Votre Email :</strong></label><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);
}
?>" />
<br /><br />
<label for="message" align="center"><strong>Votre message (<sup>*</sup>) : </strong></label>
<textarea name="message" cols="60" rows="6"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
<br />
<p>(<sup>*</sup>) veuillez indiquer le nombre d'adulte(s) et d'enfant(s) à partir de 4 ans</p>
<?php dsp_crypt(0,1); ?>
<p><input type="text" name="code" /></p>
<p><input type="submit" name="envoyer" value="Envoyer" />
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "Return-Path: ". $email_webmaster . "\n";
$entete .= "MIME-Version: 1.0";
$ip.="Adresse IP: ". $_SERVER['REMOTE_ADDR'] . "\n";
$nav.="Navigateur: ". $_SERVER['HTTP_USER_AGENT'] . "\n\n";
if (@mail($email_webmaster,$titre_cache.$_POST["titre"],$ip.$
nav.$_POST["message"],$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>
</div>
</div></div></div></div></div></div></p>
<!-- le pied-de-page-->
<div id="pied_de_page">

<h6>santfeliulocation.fr a été réalisé avec Notepad++ <a href="https://notepad-plus-plus.org/"title="Notepad++"<img src="../images/png/npp.logo.80x15.png" alt="npp.logo.80x15" title="Notepad"></a><br/><br />- Pour contacter le <a href="mailto:webmaster@santfeliulocation.fr">webmaster</a> -</h6></br>
</div>
<br /><br />
<h6><a href="http://french-181442816024.spampoison.com"><img src="http://pics5.inxhost.com/images/sticker.gif" border="0" width="80" height="15"/></a></h6>
<br /><br />
<h6><script type="text/javascript">
compte="899578wwwsan";
couleur_lib="bleu";
logo_lib="1";

path_lib="016003";
</script>
<script type="text/javascript" src="http://lib6.libstat.com/private/stat.js"></script>
<br><a href="http://www.libstat.com" target="_Blank">statistiques</a>
<noscript>
<a href="http://www.libstat.com" target="_Blank"><img src="http://lib6.libstat.com/private/stat.php?compte=899578wwwsan" border="0"></a><br>
libstat : <b><a href="http://www.libstat.com">mesure audience</a> </b>pour site web<br>
Annuaire, <a href="http://www.libparade.com/annuaire/tourisme/hebergement-et-restauration/index.html">location</a>, sites classés
</noscript>
</h6>
</body>
</html>


Merci par avance pour l'aide que vous pourrez m'apporter
0