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 :

[Mail] Inclure une fonction php dans un mail


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut [Mail] Inclure une fonction php dans un mail
    Bonjour

    J'utilise la fonction mail() pour envoyer un e-mail (logique lol).Dans ce mail je mes du html pour la presentation et je voudrais envoyer un tableau qui est le resultat d'une fonction.Comment je peux faire pour l'inclure dans ce mail et qu'il s'affiche lors de la reception.
    Jusqu'a maintenant je fais des tests et j'ai la presentation du mail mais pas le tableau.
    Alors je voudrais savoir ce qu'il faut faire pour envoyer le tableau dans le mail.

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    J'ai pas tout compris , tu veux qu quand le clien ouvre le mail , la fonction php s'execute et te genere un tableau ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Oui voila exactement. Je veux que quand le client ouvre son mail le tableau s'affiche.
    Or dans mes tests ca ne s'affiche pas.
    Merci

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Je peux voir le code ? , parce que si on peut le faire je vois pas enormement de solutions .....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Voila 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
    21
    22
    23
    24
    25
    26
     
    $destinataire="";
    $expediteur="";
    echo "Ce script envoie un mail au format HTML à ".$destinataire."";
    $headers = "From:  \r\n"; 
    $codehtml="<html><body>"
    ."<b>Bonjour &nbsp;".$_POST["nom"]."</b><br>".
    "Vous devez renvoyer votre article avec la copie de ce mail.";
        $resultArray=barcode($rma,$id_user);
    	$i=0;
    	echo"<table border='0' cellpadding='0' cellspacing='0'><tr>"
    	while(isset($resultArray[0][$i]))
    	{
    		echo"<td>".$resultArray[0][$i]."</td>";
    		$i++;	
    	}
    	echo"</tr><tr>";
    	$cpt=0;
    	while(isset($resultArray[1][$cpt]))
    	{
    		echo"<td>".$resultArray[1][$cpt]."</td>";
    		$cpt++;	
    	}
    	echo"</tr></table>";
    "</html></body>"
    mail($destinataire,"Numero RMA pour les retours marchandises",$codehtml,$im,$headers);
    Et c'est la fonction a partir de l'echo qui doit faire le tableau.ET je doit l'envoyer au client.
    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Je ne suis pas sur d'avoir tout compris, mais si tu remplaces les "echo" dans ton code par "$codehtml .= " tu renseignes le corps du mail avec ta fonction et tu envoies le résultat.

    Si ta volonté est d'exécuter du code php au niveau client alors la je ne suis vraiment pas sur que ce soit faisable.
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    NOn c'est pas faisable car php s'execute du cote serveur ;, il faut donc un serveur , et le client n en a pas ! Sans parler du fait que les fichiers ne scripts ne sont pas au meme endroit .....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Okai merci pour ces reponses.Je sais que le client ne peut pas executer du php car il s'execute que du coter serveru. Mais je voulais juste afficher le resultat du tableau.
    Donc il faut que je trouve un autre moyen de l'afficher
    Merci de ton aide

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    MAis si tu veux afficher le resultat du tableau tu peux le faire pendant la creation du body du mail ... Tout comme te l as dis ratapapa
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Quand je met $codehtml .= au niveau des echo ca ne marche pas.
    Cela m'indique une parse error sur ces lignes la.
    Es ce que je l'ecris mal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $codehtml .= echo"<table border='0' cellpadding='0' cellspacing='0'><tr>";

  11. #11
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Enlève ton echo tu n'as plus besoin d'afficher quelque chose...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Effectivement la syntaxe est incorrecte.

    echo est une fonction permettant d'afficher, ce que je proposais était en fait de concaténer les lignes de ton tableau dans ta variable $codehtml.

    "$codehtml .=" équivaut à "$codehtml = $codehtml ."
    Si tu désires récupérer le résultat de ton tableau dans le corps du mail et l'afficher sur ta page, il te faut 2 instructions :

    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
     
    $destinataire="";
    $expediteur="";
    echo "Ce script envoie un mail au format HTML à ".$destinataire."";
    $headers = "From:  \r\n"; 
    $codehtml="<html><body>"
    ."<b>Bonjour &nbsp;".$_POST["nom"]."</b><br>".
    "Vous devez renvoyer votre article avec la copie de ce mail.";
        $resultArray=barcode($rma,$id_user);
    	$i=0;
    	$codehtml .= "<table border='0' cellpadding='0' cellspacing='0'><tr>"
    	while(isset($resultArray[0][$i]))
    	{
    		$codehtml .= "<td>".$resultArray[0][$i]."</td>";
    		$i++;	
    	}
    	$codehtml .= "</tr><tr>";
    	$cpt=0;
    	while(isset($resultArray[1][$cpt]))
    	{
    		$codehtml .= "<td>".$resultArray[1][$cpt]."</td>";
    		$cpt++;	
    	}
    	$codehtml .= "</tr></table>";
    $codehtml .= "</html></body>";
    echo $codehtml;
    mail($destinataire,"Numero RMA pour les retours marchandises",$codehtml,$im,$headers);
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Merci pour tout cela marche convenablement.La mail s'envoie correctement mais maintenant se sont les balises du tableau qui sont afficher lors de la reception du mail et non le contenu du tableau.
    Mais merci deja pour vos repnses et de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT]Probléme avec une fonction php dans un fichier xsl!
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/10/2007, 07h32
  2. Appel d'une fonction PHP dans un formulaire
    Par Mut dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2007, 11h34
  3. [SQL] comment "desactiver" une fonction php dans une page?
    Par horas dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/05/2007, 15h04
  4. Réponses: 10
    Dernier message: 18/04/2007, 17h17
  5. Réponses: 3
    Dernier message: 06/11/2005, 18h02

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