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 :

Affichage balise après envoi


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut Affichage balise après envoi
    Bonjour,

    J'ai un problème lors de l'envoi d'un formulaire php.
    Au lieu de m'écrire "merci pour votre contribution dans le navigateur, ça m'écrit tout ce qu'il y a à la suite de cette phrase, même les balises php de fin..
    Pouvez vous jeter un oeil sur le script?
    Merci d'avance.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
    define('MAIL_DESTINATAIRE','ytfytfytfy@il.com'); // remplacer par votre email
    define('MAIL_SUJET','[ECOGESTE iEcolo] Nouveau message');
     
    // vérification des champs 
    if (empty($_POST['pseudo'])) 
    $message .= "Votre pseudo<br/>";
    if (empty($_POST['codepostal'])) 
    $message .= "Votre code postal<br/>";
    if (empty($_POST['categorie'])) 
    $message .= "La categorie<br/>";
    if (empty($_POST['message'])) 
    $message .= "Votre message<br/>";
    // si un champ est vide, on affiche le message d'erreur 
    if (strlen($message) > strlen($msg_erreur)) {
     
      Header("Location: erreur.html");
     
    // 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 .= "From: {$_POST['pseudo']} "
                 ."<{$_POST['codepostam']}>\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['codepostal']."\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset=UTF-8"';
    $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 = "Pseudo : $pseudo\n";
    $mail_corps .= "Code Postal : $codepostal\n";
    $mail_corps .= "Categorie : $categorie\n";
    $mail_corps .= "Message : $message\n";
    $mail_corps .= $comments;
     
    // envoi du mail
    if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
     
      //Le mail est bien expédié
      echo "<div class=\"panel\"><h2 style=\"text-align: center;\"><b>Merci pour votre contribution !</b></h2>";
    } else {
     
      //Le mail n'a pas été expédié
      echo "<p>Erreur lors de l'envoi, verifiez que tous les champs soient remplis svp !</p>";
    }
     
    }
    ?>

  2. #2
    Membre confirmé
    Avatar de mathieugut
    Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 225
    Points : 476
    Points
    476
    Par défaut
    Salut,

    As-tu essayé de remplacer les \" par des simples quotes ' ?

    Tu as aussi oublié de fermer la balise <div> après le </h2>.

    En espérant que mes remarques ont pu t'aider

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut
    En fait je ne pense pas que cela vienne de çà puisque les balises <font n'apparaissent pas. Voilà exactement le message que j'ai après avoir cliqué sur envoyer:

    Merci pour votre contribution !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ";{
    //Le mail n'a pas été expédié
    echo " Erreur lors de l'envoi .... remplis svp !
    ";}}?>
    Il passe bien dans le if du mail mais après il y a un problème..

  4. #4
    Membre confirmé
    Avatar de mathieugut
    Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 225
    Points : 476
    Points
    476
    Par défaut
    La class panel utilisé avec ta div ne pourrait-elle pas avoir des paramètres qui pourrait provoquer ce bug ?

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut
    Non je ne pense pas. En fait je pense savoir peut être d'où vient le problème. Peux tu me confirmer?

    En fait ce formulaire est utilisé dans une application iphone. Lors de mes tests, il était hébergé sur mon espace de stockage chez 1and1. Lorsque je cliquais sur envoyer, tout marchait, le script était au même endroit que le fichier html ou se trouve le bouton envoyer.

    Maintenant que j'ai envoyé l'application à l'applestore, je me dis que peut être que l'espace de stockage ou se trouve mon application ne supporte par une version de php et que ça me provoque cette erreur là. il faudrait que je modifie le code de ma page html pour indiquer dans le form action="http://l'adresse de mon fichier toto.php sur mon espace de stockage au lieu de form action="toto.php.

    Qu'en penses tu?

  6. #6
    Membre confirmé
    Avatar de mathieugut
    Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 225
    Points : 476
    Points
    476
    Par défaut
    Ah d'accord ça peut expliquer le problème.

    Oui en effet tu peux essayer, mais peut être qu'il interdit/impossible d'appeler un script extérieur depuis l'applestore, mais je vais pas pouvoir t'aider plus dans le domaine des applications iPhone...

Discussions similaires

  1. [HTTP] Rester dans la même session après envoi du login
    Par lazare dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/07/2007, 08h00
  2. remettre les balises apres un strip tags
    Par skin_1_2_3 dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2006, 15h31
  3. après envois formulaire execute procedure
    Par alexmorel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/12/2005, 22h54
  4. [MySQL] vider formulaire apres envoi
    Par nestam dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 31/10/2005, 15h29
  5. [Servlet] Fichier xls protégé apres envoi au client
    Par romdelf dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 03/10/2005, 16h41

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