Bonjour,

Voila je rencontre un problème avec mon formulaire de contact. Je réalise que je ne reçois plus les mails pour les demandes d'informations ! ça fonctionnait bien jusqu'il y a quelques semaines, je n'ai rien touché et je n'arrive pas à comprendre d'où ça peut venir !! Pourriez vous m'aider ou m'orienter sur le problème svp ! Je précise que je suis novice...
Mille merci par avance pour votre aide précieuse !

<?php
    $nom=utf8_decode($_POST['nom']);
    $email=utf8_decode($_POST['email']);
    $telephone=utf8_decode($_POST['telephone']);
    $adresse=utf8_decode($_POST['adresse']);
    $arrival=utf8_decode($_POST['arrival']);
    $depart=utf8_decode($_POST['depart']);
    $adulte=utf8_decode($_POST['adulte']);
    $enfant=utf8_decode($_POST['enfant']);
    $sejour=utf8_decode($_POST['sejour']);
    $maison=utf8_decode($_POST['maison']);
    $services=utf8_decode($_POST['services']);
    $message=utf8_decode($_POST['message']);

for ($i=0;$i<sizeof($services);$i++) {
    if (isset($services[$i])) {
       echo("$services[$i] - ");
    }
}

/* Destinataire */

$to = 'contact@agrafica.fr';

/* Construction email */

$msg = 'Bonjour,'."\r\n\r\n";
$msg.= 'Cette demande a ete envoyee depuis www.lesmaisonsdumaquis.com par '.$nom."\r\n";
$msg.= 'Telephone '.$telephone."\r\n";
$msg.= 'Email '.$email."\r\n\r\n";
$msg.= 'Adresse '.$adresse."\r\n\r\n";
$msg.= '*********************'."\r\n";

$msg .= 'VOICI SA DEMANDE :'."\r\n\r\n";
$msg .= 'Les dates souhaitees :'."\r\n\r\n";
$msg.= 'arrivee : '.$arrival."\r\n";
$msg.= 'depart : '.$depart."\r\n\r\n";
$msg.= '*********************'."\r\n";
$msg .= 'Nombre de personnes :'."\r\n\r\n";
$msg.= 'adultes : '.$adulte."\r\n";
$msg.= 'enfants : '.$enfant."\r\n\r\n";
$msg.= '*********************'."\r\n";

$msg .= 'cette personne souhaite etre contactee pour l organisation d un sejour :'."\r\n\r\n";
$msg.= 'contact pour l organisation d un sejour : '.$sejour."\r\n\r\n";
$msg.= '*********************'."\r\n";

$msg .= 'cette personne serait interessee par la maison :'."\r\n\r\n";
$msg.= 'Maison souhaitee : '.$maison."\r\n\r\n";
$msg.= '*********************'."\r\n";

$msg .= 'cette personne serait interessee par les services suivants :'."\r\n\r\n";
    foreach($_POST['services'] as $pres ){
$msg.= $pres."\r\n\r\n";}
$msg.= '*********************'."\r\n";

$msg .= 'Voici son message :'."\r\n\r\n";
$msg.= $message."\r\n";
$msg.= '*********************'."\r\n";

/* Entete mail */

$headers = 'From: '.$nom.'<'.$email.'>'."\r\n";
$headers .= 'Reply-To: <'.$email.'>'."\r\n";

/* envoi mail */

mail($to, $email, $sujet, $msg, $headers);

?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Les Maisons du Maquis : maisons de vacances avec services dédiés</title>
        <meta name="description" content="Les Maisons du Maquis vous propose des locations de maisons de vacances avec services dédiés à Bonifacio ou ailleurs."

        <!--[if lt IE 9]>
        <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
<!-- Appel de la police google font en graisse 300 et 700-->
        <link href='http://fonts.googleapis.com/css?family=Handlee|Raleway:300,400,500,600,700' rel='stylesheet' type='text/css'>
<!-- Appels css -->
        <link rel="stylesheet" type="text/css" href="style/style.css" />
        <link rel="stylesheet" type="text/css" href="style/responsive.css" />
        <link rel="stylesheet" type="text/css" href="style/bg-fullscreen.css" />

<meta name="viewport" content="initial-scale=1.0" />

<!-- Appels Javascript -->
        <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
        <script type="text/javascript" src="js/bg-fullscreen.js"></script>

        </head>

<body>

<!-- Images d'arrière plan -->

<ul class="cb-slideshow">
    <li><span>Image 01</span></li>
    <li><span>Image 02</span></li>
    <li><span>Image 03</span></li>
    <li><span>Image 04</span></li>
    <li><span>Image 05</span></li>
    <li><span>Image 06</span></li>
</ul>
<!-- Fin images arrière plan -->
<div id="conteneur">
<div id="main"
        <p>
            Votre message a bien été envoyé. <br />Une copie vous a été envoyée sur votre adresse mail<br />
            <a href="/">OK</a>
        </p>
        </div>
    </div>
</body>
</html>

9 réponses


Carouge10
Réponse acceptée

La variable $sujet n'est pas défini.

Salut,

1.ton foreach n'est pas fermé

2.fait un test pour voir si ton mail s'envoi remplace la ligne mail($to, $email, $sujet, $msg, $headers); par :

<?php
$message = null;
if(mail($to, $email, $sujet, $msg, $headers)){
$message = " Votre message a bien été envoyé. <br />Une copie vous a été envoyée sur votre adresse mail<br />";
} else {
$message= "il y a eu un problème";
}

et à la place du message "Votre message a bien été envoyé. <br />Une copie vous a été envoyée sur votre adresse mail"
tu ajoute <?= $message ?>

audreyG
Auteur

Merci beaucoup Shinix pour ta réactivité. Je viens de suivre tes instructions et j'ai fait un essai. J'ai le message "il y a eu un problème" et ne reçois toujours pas de mail... :-(

Active déjà les erreurs et ensuite refait un test d'envoi de mail :

A mettre au tout début de ton fichier php

<?php 
ini_set('display_errors', 1); 
error_reporting(E_ALL);

Ensuite tu peux également vérifier si chaque paramètre passé dans la fonction mail() est bien rempli et donc pas vide.

Affiche aussi le message d'erreur
print_r(error_get_last())

audreyG
Auteur

Merci pour votre aide !!

J'ai les messages suivants qui s'affichent :
Undefined variable .... on line 75
Warning mail() ..... on line 75

Cette ligne équivault à :
if(mail($to, $email, $sujet, $msg, $headers)){

audreyG
Auteur

Mille merci à vous 3 pour votre aide ! Mille merci à Carouge10 ! c'était tout simplement ça le problème ! tout fonctionne !! Merciiiii

audreyG
Auteur

Par contre le demandeur ne reçoit pas de copie du message... :-( si je peux abuser... Merci !

oui car il faut soit faire un deuxième "mail(....);" ou ajouter le mail du demandeur à la variable $to