IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur d'entêtes envoi e-mail


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut erreur d'entêtes envoi e-mail
    Bonjour,
    j'ai un script suivant qui envoie par mail un numero de telephone, en cliquant sur envoyer je recois l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/28/xxx/xxx/xxx/phone.php:3) in /homepages/28/xxx/htdocs/xxx/phone.php on line 20
    le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <form name="form1" method="post" action="phone.php?envoi=8">
    Nous vous rappelons dans les 5 minutes =>
    <input name="phone" type="text" value="<?php if (@$_GET['lok'] == 4) {echo"Numéro incorrect";} elseif (@$_GET['lok'] == 3) {echo"Merci";} else{ echo"votre num&eacute;ro";}?>" />
    <input type="submit" name="Submit" value="Ok" /><br>
    <?php
    $mailo = "mail@gmail.com";
    if (@$_GET['lok'] == 3) {echo" Bien reçu (".$_GET['phone'].")";}
    elseif (@$_GET['lok'] == 4) {echo"Exemple: 0102030304";}?>
    <input type="hidden" name="yo" value="http://www.monsite.com<?php echo $_SERVER['PHP_SELF'] ?>" /></form>
    <?php
    if (@$_GET['envoi'] == 8 && ereg("[0-9]{10}" , $_POST['phone']))
    {
    $entete .= "Reply-To: $mailo\r\n";
    $entete .= "From: ".$_POST['phone']." <$mailo>\r\n";
    mail("$mailo", "".$_POST['phone']."", "Nouveau client :
    Phone : ".$_POST['phone']."
    Url : ".$_POST['yo']."",$entete);
    header("Location: ".$_POST['yo']."?lok=3&phone=".$_POST['phone']."");exit();}
    elseif (@$_GET['envoi'] == 8&&!ereg("[0-9]{10}",$_POST['phone']))
    {header("Location: ".$_POST['yo']."?lok=4&phone=".$_POST['phone']."");exit();}?>
    Quelqu'un peut m'eclairer svp?
    merci à tous

  2. #2
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    Salut,


    Tu ne peux pas afficher quelque chose avant de mettre un header....
    Faut le placer au tout debut de ta page


    Guigo

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta reponse Guigo, tu veux dire deplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if (@$_GET['envoi'] == 8 && ereg("[0-9]{10}" , $_POST['phone']))
    {
    $entete .= "Reply-To: $mailo\r\n";
    $entete .= "From: ".$_POST['phone']." <$mailo>\r\n";
    mail("$mailo", "".$_POST['phone']."", "Nouveau client :
    Phone : ".$_POST['phone']."
    Url : ".$_POST['yo']."",$entete);
    header("Location: ".$_POST['yo']."?lok=3&phone=".$_POST['phone']."");exit();}
    elseif (@$_GET['envoi'] == 8&&!ereg("[0-9]{10}",$_POST['phone']))
    {header("Location: ".$_POST['yo']."?lok=4&phone=".$_POST['phone']."");exit();}?>
    au debut de la page? je l'ai fait mais ça marche pas.

  4. #4
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    je veux dire que tu ne doit avoir acun print ecran avant un header si tu veux qu'il fonctionne....


    a ti de voir dans ton code... (attention <?php supprimer le saut de ligne il pourrait faire une erreure)

  5. #5
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    dans la FAQ PHP est expliqué comment corriger cette erreur :
    http://php.developpez.com/faq/index....s_already_sent
    GNAP !

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Header already sent
    Citation Envoyé par nosferapti Voir le message
    dans la FAQ PHP est expliqué comment corriger cette erreur :
    http://php.developpez.com/faq/index....s_already_sent
    J'ai suivi ce faq (suppression des echos et codes html hors du code etc...)

    Voilà le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php if (@$_GET['envoi'] == 8 && ereg("[0-9]{10}" , $_POST['phone'])){
    $entete .= "Reply-To: $mailo\r\n";
    $entete .= "From: ".$_POST['phone']." <$mailo>\r\n";
    mail("$mailo", "".$_POST['phone']."", "Nouveau client:Phone:".$_POST['phone']."Url : ".$_POST['yo']."",$entete);
    header("Location: ".$_POST['yo']."?lok=3&phone=".$_POST['phone']."");exit();}
    elseif (@$_GET['envoi'] == 8&&!ereg("[0-9]{10}",$_POST['phone']))
    {header("Location: ".$_POST['yo']."?lok=4&phone=".$_POST['phone']."");exit();}ob_end_flush(); ?>
     
    <form name="form1" method="post" action="phone.php?envoi=8">
    Nous vous rappelons dans les 5 minutes =>
    <input name="phone" type="text" value="<?php if (@$_GET['lok'] == 4) {echo"Numéro incorrect";} elseif (@$_GET['lok'] == 3) {echo"Merci";} else{ echo"votre num&eacute;ro";}?>" />
    <input type="submit" name="Submit" value="Ok" /><br>
    <input type="hidden" name="yo" value="http://www.over-view.net<?php echo $_SERVER['PHP_SELF'] ?>" /></form>
    <?php $mailo = "rahajason@gmail.com";
    if (@$_GET['lok'] == 3) {echo" Bien reçu (".$_GET['phone'].")";}
    elseif (@$_GET['lok'] == 4) {echo"Exemple: 0102030304";}?>

Discussions similaires

  1. Erreur sur un envoi de mail
    Par sam01 dans le forum Langage
    Réponses: 6
    Dernier message: 01/09/2014, 16h01
  2. erreur '80040213' quand envoi de mail via CDO
    Par valou79 dans le forum ASP
    Réponses: 7
    Dernier message: 16/12/2013, 16h50
  3. [XL-2010] Erreur sur code envoi de mail
    Par Begood18 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/03/2013, 20h22
  4. Erreur lors d'envoi de mail
    Par badjina dans le forum Langage
    Réponses: 5
    Dernier message: 16/04/2010, 10h31
  5. [Configuration] Erreur lors d'envoie de mail avec PHP
    Par ostie127 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 05/02/2008, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo