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 :

Envoyer un mail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Par défaut Envoyer un mail
    Bonjour à tous, Je viens vers vous car j'ai un problème avec un script PHP.
    j'ai créer un formulaire qui une fois validé, renvoit à ce script.
    je voudrais que les informations me soit renvoyé par mail mais je n'arrive pas a faire apparaitre toutes les informations sur le mail.
    je n'arrive qu'a en avoir une seule.
    je pense savoir que le problème se situe à la ligne en rouge mais je n'arrive pas à trouver la solution.
    si quelqu'un pourrait m'aider svp. je vous remercie.
    j'ai essayé toutes les combinaisons mais je ne suis pas assez calé en php pour trouver tout seul.
    merci de votre aide.

    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
     
    <?php 
      require("configd.inc.php");
      if(isset($_POST['email']) && isset($_POST['nom']) && isset($_POST['films']) && isset($_POST['format']) && isset($_POST['fichiers']) && isset($_POST['durée']) && isset($_POST['effets']) && isset($_POST['nombre']) && isset($_POST['messages'])) {
        $headers = "From: ".$_POST['nom']."<".$_POST['email'].">\r\n"; 
        $headers .= "X-Sender: ".$_POST['email']."\r\n"; 
        $headers .= "X-Mailer: PHP/".phpversion()."\r\n";
        $headers .= "X-Priority: 2\r\n";
        $headers .= "Return-Path: ".$_POST['email']."\r\n";
        $headers .= "MIME-Version: 1.0\r\n"; 
        $headers .= "Content-Type: text/plain; charset=\"US-ASCII\"\r\n";
        $headers .= "Content-Transfer-Encoding: 7bit\r\n"; 
     
        // ===> Ligne qui pose probleme !!!
        if(mail($to, $titre, $_POST['messages'], $headers)) {[/U][/COLOR]
          header("Location:../".$lienOK);
        } else {
          header("Location:../".$lienPasOK);
        }
      } else {
        header("Location:../".$lienPasOK);
      }
    ?>

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Tu as effectivement trouvé ton probleme, le troisième paramètre correspond bien au message que tu souhaiterais envoyer par mail. Donc il faut d'abord que tu réunisses toutes les infos avant de les envoyer.
    Tu peux faire comme ca pour concaténer tes infos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message = $_POST['fichiers'] . "\r\n" . $_POST['messages'];
    Ca mettra dans $message les infos du formulaire saisies dans les cases "fichiers" et "messages" de ton formulaire.
    Ensuite tu appelles la fonction mail() avec $message en paramètre.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Par défaut
    Merci beaucoup KOOPAJAH, ca marche maintenant.
    C fou j'ai tout essayé mais sans mettre le $message = devant.
    merci encore mais j'ai un dernier soucis.
    j'ai créer une page qui si un champs annule l'envoie du message si un des champs n'est pas rempli.
    mais ca ne fonctionne pas.
    aurais-tu une idée là dessus?

    C'est toujours dans le même script mais je ne sais pas si l'erreur vient du début ou de la fin du script.


    Merci beaucoup.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je pense que ça vient de ton if au tout début, pour savoir si un champ est rempli il me semble qu'il faut faire deux choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_POST['email']) && !empty($_POST['email']))
    {
        // traitement OK;
    }
    else
    {
       //traitement pas OK;
    }
    Comme ça tu vérifies que le champ existe bien dans ton formulaire (isset) mais aussi que la valeur contenue dedans n'est pas vide!
    Il faut donc le faire pour chacun de tes champs.

    Par ailleurs il faut t'assurer que $lienPasOK existe bien dans ton script. Et je te conseille également de mettre un L majuscule a Location dans ton header(...) ainsi qu'un espace après les deux-points.

Discussions similaires

  1. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 13h27
  2. [VB6] Comment envoyer un mail HTML par Winsocks ?
    Par hedgehog dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/05/2004, 11h04
  3. [Debutant(e)]envoyer un mail en jsp
    Par SegmentationFault dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/01/2004, 19h28
  4. configurer sql pour envoyer des mails
    Par arwen dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/07/2003, 16h28

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