Bonjour à tous et merci d'avance pour votre aide.
J'ai déjà lu et relu plusieurs source traitant du probléme.
Mais franchement c'est à s'arracher les cheuveux.
J'ai trois pages, index.php, contact.php et devis.php
Ces trois pages envoie parfaitement mes mail.
J'ai juste ce message "headers already sent by" qui s'affiche juste sur les page contact et devis juste aprés un envoie réussi du mail
Et pourtant c'est quasi le même code pour les trois pages.
Voici la partie PHP de la page contact
Le liens vers la page contact.php
Page Contact
Merci encore.
Modifié par Rifton007 (22 Sep 2010 - 21:05)
J'ai déjà lu et relu plusieurs source traitant du probléme.
Mais franchement c'est à s'arracher les cheuveux.
J'ai trois pages, index.php, contact.php et devis.php
Ces trois pages envoie parfaitement mes mail.
J'ai juste ce message "headers already sent by" qui s'affiche juste sur les page contact et devis juste aprés un envoie réussi du mail
Et pourtant c'est quasi le même code pour les trois pages.
Voici la partie PHP de la page contact
<?php
if (isset($_POST['send_message']))
{
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$nom = stripslashes(trim($_POST['NAME1']));
$telephone = stripslashes(trim($_POST['PHONE']));
$expediteur = stripslashes(trim($_POST['EMAIL']));
$sujet2 = stripslashes(trim($_POST['SUBJECT']));
$message = stripslashes(trim($_POST['MESSAGE']));
}
else
{
$nom = trim($_POST['NAME1']);
$telephone = trim($_POST['PHONE']);
$expediteur = trim($_POST['EMAIL']);
$sujet2 = trim($_POST['SUBJECT']);
$message = trim($_POST['MESSAGE']);
}
$sujet = "Site M&M CONTAINER - Message";
$date = date("d/m/Y");
$hour = date("H:i");
/* Expression régulière permettant de vérifier si le
* format d'une adresse e-mail est correct */
$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
/* Expression régulière permettant de vérifier qu'aucun
* en-tête n'est inséré dans nos champs */
$regex_head = '/[\n\r]/';
/* Si le formulaire n'est pas posté de notre site on renvoie
* vers la page d'accueil */
if($_SERVER['HTTP_REFERER'] != 'http://www.mmcontainer.be/contact.php')
{
header('Location: http://www.mmcontainer.be/contact.php');
$alert = 'C pas la page';
echo "<script>alert(\"".$alert."\");</script>";
}
/* On vérifie que tous les champs sont remplis */
elseif (empty($nom)
|| empty($sujet2)
|| empty($expediteur)
|| empty($message)
|| empty($telephone))
{
$alert = 'Tous les champs doivent être complété.';
echo "<script>alert(\"".$alert."\");</script>";
}
/* On vérifie que le format de l'e-mail est correct */
elseif (!preg_match($regex_mail, $expediteur))
{
$alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
echo "<script>alert(\"".$alert."\");</script>";
}
/* On vérifie qu'il n'y a aucun header dans les champs */
elseif (preg_match($regex_head, $nom)
|| preg_match($regex_head, $sujet2)
|| preg_match($regex_head, $expediteur)
|| preg_match($regex_head, $message)
|| preg_match($regex_head, $telephone))
{
$alert = 'Erreur de donnée dans les champs du formulaire';
echo "<script>alert(\"".$alert."\");</script>";
}
/* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
elseif (!isset($_COOKIE['sent']))
{
/* Destinataire (votre adresse e-mail) */
$to = 'contact@mmcontainer.be';
/* Construction du message */
$msg = 'code html';
/* En-têtes de l'e-mail */
$headers = "From: $expediteur\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Reply-To: contact@mmcontainer.be\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$headers .= "X-abuse-contact: abuse@lws.fr";
/* Envoi de l'e-mail */
if (mail($to, $sujet, $msg, $headers))
{
$alert = 'Votre message à bien été envoyé.';
echo "<script>alert(\"".$alert."\");</script>";
/* On créé un cookie de courte durée (ici 120 secondes) pour éviter de
* renvoyer un mail en rafraichissant la page */
setcookie("sent", "1", time() + 120);
/* On détruit la variable $_POST */
unset($_POST);
}
else
{
$alert = 'Erreur, votre message n\'a pu être envoyé.';
echo "<script>alert(\"".$alert."\");</script>";
}
}
/* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
else
{
unset($_POST);
$alert = 'Probléme surevenue lors de la procédure d\'envoie.';
echo "<script>alert(\"".$alert."\");</script>";
}
}
?>
Le liens vers la page contact.php
Page Contact
a écrit :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/mmcontainer.be/htdocs/contact.php:107) in /var/www/mmcontainer.be/htdocs/contact.php on line 240
Merci encore.
Modifié par Rifton007 (22 Sep 2010 - 21:05)