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 :

Passer une variable dans un email


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Passer une variable dans un email
    Hello World

    Je cherche à utiliser la fonction mail() pour créer des emails dynamiques.

    Alors voilà ce que j'ai programmé dans ma page php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      // Données pour email
      $patronyme = $resul_transf2['prenom'];
     
      // Construction de l'en-tête du mail
      $headers ='From: "'.$patronyme.'"<'.$courriel.'>'."\r\n";
      $headers .='Reply-To: '.$courriel."\r\n";
      $headers .='Content-Type: text/html; charset="UTF-8"'."\r\n";
      $headers .='Content-Transfer-Encoding: 8bit';
     
      // Envoi du mail
      $sujet = $resul_transf3['sujet'];
      $message = $resul_transf3['contenu'];
      $message = include($message);
      mail($courriel, $sujet, $message, $headers);
    J'envoie mon email (qui fonctionne) mais dans le contenu du mail j'obtiens seulement : '1' au lieu du contenu de <?php echo $patronyme ; ?> avec blablabla de mon message.

    En revanche, si je code cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      // Envoi du mail
      $sujet = $resul_transf3['sujet'];
      $message = $resul_transf3['contenu'];
      $message = file_get_contents('petitions/'.$message);
      mail($courriel, $sujet, $message, $headers);
    Le contenu du message est envoyé correctement mais mes variables ne sont pas interprétées...

    Merci pour votre aide et attention,

    Frédéric

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    include() ne renvoit pas l'affichage en retour.

    Ton fichier inclus peut simplement construire la variable $message.
    C'est à dire que tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message .= $patronyme;
    au lieu de
    Si tu as un vraie raison d'avoir des echo dans le fichier. Tu peux aussi utiliser les fonction de bufferisation.
    http://www.php.net/manual/fr/ref.outcontrol.php

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour sabotage

    Oui, j'ai besoin des echo car, en fait, le message de sortie est plus complexe que cet extrait car il fait une recherche sur plusieurs tables pour en retourner les réponses.

    Hum, si je comprends bien, en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message .= $patronyme;
    Il faut que je construise mon message en le découpant, mettre mes variables et ajouter du scotch Sans étaler ma vie, je programmais en mysql/lasso et c'était bien plus pratique. Mais bon, je dois faire avec ce que j'ai maintenant

    Autre question, puisqu'on est fou, est-ce que la bufferisation permet de faire des requêtes mysql directement dans mon fichier inclus ?

    Merci pour ton attention

    Frédéric

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    echo sert à afficher des chaines vers le navigateur.
    ce n'est pas ce que tu veux.

    ton but à toi c'est de construire ton message.
    donc oui il faut mettre bout à bout les parties de ton message, je ne vois pas comment ça pourrait être autrement, quelque soit le langage utilisé.

    est-ce que la bufferisation permet de faire des requêtes mysql directement dans mon fichier inclus ?
    L'inclusion c'est juste executer un fichier dans un autre, comme si tu n'avais qu'un seul gros code.
    Tu fais ce que tu veux dedans.

    La bufferisation dont je t'ai parlé est un mécanisme qui permet, de "detourner" tout ce qui part vers le navigateur dans une variable.

Discussions similaires

  1. Passer une variable dans une image via un script
    Par Lomig dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2006, 17h10
  2. Passer une variable dans une requête SQL
    Par Remedy dans le forum C++
    Réponses: 2
    Dernier message: 11/05/2006, 16h48
  3. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52
  4. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2005, 15h23

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