PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 16-09-2011 15:29:37

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Formulaire - Traitement Php - Mail avec tableau de données

Bonjour,

Merci de m'accueillir sur votre forum.
PHP Débutant : c'est un qualificatif tout trouvé pour me définir. Je pense donc avoir frappé à la bonne porte.

Voilà, je vous expose mon problème.
Je propose un formulaire d'inscription pour une formation aux visiteurs de mon site (associations sportives).
Une partie de ce formulaire est structurée sous forme de tableau HTML (plusieurs ligne et plusieurs colonnes). Les associations peuvent donc inscrire plusieurs participants de manière claire et lisible.

Mons soucis ne concerne pas le formulaire lui-même, mais plutôt son traitement pour un envoi des données sur ma boite mail...
Je parviens à récupérer mes données sans problème, mais pour plus de clarté, je souhaiterai pouvoir les voir s'afficher dans un tableau dans le corps de mon mail.

Autrement dit, j'aimerai qu'elles soient bien alignée pour faciliter la lecture.

Merci de m'éclairer sur la question ?

Bonne soirée

Hors ligne

#2 17-09-2011 18:23:52

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Formulaire - Traitement Php - Mail avec tableau de données

Bonjour,

Il y a deux façons basiques d'envoyer un mail. Soit en utilisant les sockets (suffisants pour l'envoi de mails ponctuels) via SMTP soit en utilisant le protocole IMAP.
Dans le premier cas, il existe deux bibliothèques : 1)

mail();

pour envoyer des emails en mode texte (pas adapté à ce que vous cherchez à faire).
2)

$message=new Mail_Mime(); $message->setHTMLBody($html);

  qui permet d'envoyer un email au format MIME et donc un message avec du html dans le corps du message.
Donc cette dernière fonction vous permettra d'utiliser les balises HTML <table></table> pour afficher vos données.

Cordialement,

Jc.

PS: Ces deux fonctions sont des bibliothèques de classe PEAR.

Dernière modification par Jc (18-09-2011 08:11:20)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#3 18-09-2011 08:12:02

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Formulaire - Traitement Php - Mail avec tableau de données

Bonjour,

J'ai oublié ceci : La doc complète de la classe PEAR ICI.

Bonne continuation.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 19-09-2011 09:08:43

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Re : Formulaire - Traitement Php - Mail avec tableau de données

Bonjour et merci pour votre réponse.

N'étant pas spécialise, je ne pense pas trouver la solution à mon problème malgré votre bout de code.
Je n'y connais pas grand chose en php et encore moins en bibliothèque MIME...

Ci-dessous le code de ma page de traitement php. A partir de celle-ci, il nous sera peut-être plus facile de trouver une réponse.



<?php    
$msg .= "Association:\t$association\n";
$msg .= "Correspondant:\t$correspondant\n";
$msg .= "Adresse:\t$adresse\n";
$msg .= "Mail:\t$mail\n";
$msg .= "Tel:\t$tel\n\n";
$msg .= "Commentaire:\t$commentaire\n\n";

$msg .= "Demande_Licences\n\n";
$msg .= "$attestation\tOK\n\n";
$msg .= "$assurance\tOK\n\n";

$msg .= "Nom\tAdresse\tDate-Naissance\tn°Licence\tType_licence\tCM\n\n";

$msg .= "$a_1\t$a_2\t$a_3\t$a_4\t$a_5\t$a_6\n\n";
$msg .= "$b_1\t$b_2\t$b_3\t$b_4\t$b_5\t$b_6\n\n";
$msg .= "$c_1\t$c_2\t$c_3\t$c_4\t$c_5\t$c_6\n\n";
$msg .= "$d_1\t$d_2\t$d_3\t$d_4\t$d_5\t$d_6\n\n";
$msg .= "$e_1\t$e_2\t$e_3\t$e_4\t$e_5\t$e_6\n\n";
$msg .= "$f_1\t$f_2\t$f_3\t$f_4\t$f_5\t$f_6\n\n";
$msg .= "$g_1\t$g_2\t$g_3\t$g_4\t$g_5\t$g_6\n\n";
$msg .= "$h_1\t$h_2\t$h_3\t$h_4\t$h_5\t$h_6\n\n";
$msg .= "$i_1\t$i_2\t$i_3\t$i_4\t$i_5\t$i_6\n\n";
$msg .= "$j_1\t$j_2\t$j_3\t$j_4\t$j_5\t$j_6\n\n";
$msg .= "$k_1\t$k_2\t$k_3\t$k_4\t$k_5\t$k_6\n\n";
$msg .= "$l_1\t$l_2\t$l_3\t$l_4\t$l_5\t$l_6\n\n";
$msg .= "$m_1\t$m_2\t$m_3\t$m_4\t$m_5\t$m_6\n\n";
$msg .= "$n_1\t$n_2\t$n_3\t$n_4\t$n_5\t$n_6\n\n";
$msg .= "$o_1\t$o_2\t$o_3\t$o_4\t$o_5\t$o_6\n\n";


$recipient = "monmail@domaine.com";
$subject = "Demande Licence";
$mailheaders = "From: Formulaire Demande Licences<> \n";
$mailheaders .= "Reply-To: $mail\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé ! </TITLE></HEAD><BODY>";
echo "<P align=center>";
echo "<P align=center>";
echo "<H1 align=center> <font color='#1577E8'> EN-TETE </H1>";
echo "<H1 align=center> <font color='#000000'> Merci, $correspondant </H1>";
echo "<P align=center> Votre formulaire à bien été envoyé !</P>";
echo "<P align=center> Ci-dessous la liste récapitulative des licences demandées : </P>";
echo "<H3 align=center> $a_1\t$b_1\t$c_1\t$d_1\t$e_1\t$f_1\t$g_1\t$h_1\t$i_1\t$j_1\t$k_1\t$l_1\t$m_1\t$n_1\t$o_1\n </H3>";
echo "<H3 align=center> <font color='#FF0000'> Merci d'imprimer cette page et d'adresser le coupon ci-dessous avec votre réglement de $p1 €, ainsi que l'attestation d'assurance de votre association</H3>";
echo "<P align=center> <font color='#000000'> ---------------------------------------------------------------------------------------------------------------------";
echo "<H2 align=center> DEMANDE DE LICENCES </H2>";
echo "<H2 align=center> Association : $association </H2>";
echo "<H3 align=center> Correspondant : $correspondant </H3>";
echo "<H2 align=center> Nombre de licences : ($q1\tcompétition\t + $q2\tdirigeant)\t x Montant = $p1 euros\n </H2>";
echo "<P align=center> Règlement par chèque N°:_______________</P>";
echo "<P align=center> --------------------------------Signature--------------------------------</P>";
echo "<H1 align=center> _________________________</H1>";
echo "<P align=center> ---------------------------------------------------------------------------------------------------------------------";
echo "<P align=center>";
echo '<a href="javascript:window.print()">Imprimer la page</a>';
echo "<P align=center> Nom";
echo "<P align=center> Adresse";
echo "<P align=center>";
echo "<a href=http://www.siteweb.fr>Retour sur le site web </a>";
echo "</BODY></HTML>";
?>
 

Merci de votre aide
Bien cordialement

Hors ligne

#5 19-09-2011 09:47:05

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Formulaire - Traitement Php - Mail avec tableau de données

Saluton,
Au passage, les tabulations \t et autres newline \n ne servent à rien en HTML, puisque ces caractères sont ignorés par les navigateurs.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 19-09-2011 10:04:52

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Re : Formulaire - Traitement Php - Mail avec tableau de données

Merci pour la remarque.

Néanmoins, dans mon cas les tabulations et newline se révèlent utiles.
En effet, elles me permettent de structurer le contenu du mail que je reçois suite à la validation de mon formulaire, mais également de copier ces mêmes données dans un tableur en gardant une cohérence dans les colonnes.

Je souhaiterai bien me passer de ce système et j'en reviens donc au titre du post : Mail reçu avec les données dans un tableau...

Bien cordialement

Hors ligne

#7 19-09-2011 11:27:33

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Re : Formulaire - Traitement Php - Mail avec tableau de données

Re-bonjour,

Ci-dessous le nouveau code de ma page de traitement.
Je reçois mon mail en HTML, mais sans mes variables...
J'ai bien les en-têtes des colonnes de mon tableau, mais pas le contenu en provenance du formulaire.

Je pense qu'il y a une erreur dans la manière d'intégrer les variables au tableau... Je ne vois pas comment faire...



<?php
//destinataire :
$to = "Monmail@domaine.com";

// sujet :
$subject = "Inscriptions Compteurs Chutes";

// message :
$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>This email contains HTML Tags!</p>
$association</p>
$correspondant</p>
$adresse</p>
$mail</p>
$tel</p>
$commentaire</p>

INSCRIPTIONS COMPTEURS CHUTES</p>
<table>
<tr>
<th>Nom</th>
<th>Adresse</th>
<th>Mail</th>
<th>Tel</th>
<th>Licence</th>
<th>Date</th>
</tr>
<tr>
<td>$a1</td>
<td>$a2</td>
<td>$a3</td>
<td>$a4</td>
<td>$a5</td>
<td>$a6</td>
</tr>
<tr>
<td>$b1</td>
<td>$b2</td>
<td>$b3</td>
<td>$b4</td>
<td>$b5</td>
<td>$b6</td>
</tr>
<tr>
<td>$c1</td>
<td>$c2</td>
<td>$c3</td>
<td>$c4</td>
<td>$c5</td>
<td>$c6</td>
</tr>
<tr>
<td>$d1</td>
<td>$d2</td>
<td>$d3</td>
<td>$d4</td>
<td>$d5</td>
<td>$d6</td>
</tr>
<tr>
<td>$e1</td>
<td>$e2</td>
<td>$e3</td>
<td>$e4</td>
<td>$e5</td>
<td>$e6</td>
</tr>
<tr>
<td>$f1</td>
<td>$f2</td>
<td>$f3</td>
<td>$f4</td>
<td>$f5</td>
<td>$f6</td>
</tr>
<tr>
<td>$g1</td>
<td>$g2</td>
<td>$g3</td>
<td>$g4</td>
<td>$g5</td>
<td>$g6</td>
</tr>
<tr>
<td>$h1</td>
<td>$h2</td>
<td>$h3</td>
<td>$h4</td>
<td>$h5</td>
<td>$h6</td>
</tr>
</table>
</body>
</html>
";

// Pour envoyer un mail au format html, vous pouvez configurer le type content-type :
$headers = "MIME-Version: 1.0\r\n";
$headers .= "content-type: text/html; charset=iso-8859-1\r\n";

// D'autres en-têtes : errors, From cc's, bcc's, etc :
$headers .= "From: Formulaire Compteurs Chutes>\r\n";

//envoi du mail :
mail($to, $subject, $message, $headers);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé ! </TITLE></HEAD><BODY>";
echo "<P align=center>";
echo "<P align=center>";
echo "<H1 align=center> <font color='#1577E8'> EN-TETE </H1>";
echo "<H1 align=center> <font color='#000000'> Merci, $correspondant </H1>";
echo "<P align=center> Votre formulaire à bien été envoyé !</P>";
echo "<P align=center> Ci-dessous la liste récapitulative des licences demandées : </P>";
echo "<H3 align=center> $a_1\t$b_1\t$c_1\t$d_1\t$e_1\t$f_1\t$g_1\t$h_1\t$i_1\t$j_1\t$k_1\t$l_1\t$m_1\t$n_1\t$o_1\n </H3>";
echo "<H3 align=center> <font color='#FF0000'> Merci d'imprimer cette page et d'adresser le coupon ci-dessous avec votre réglement de $p1 €, ainsi que l'attestation d'assurance de votre association</H3>";
echo "<P align=center> <font color='#000000'> ---------------------------------------------------------------------------------------------------------------------";
echo "<H2 align=center> DEMANDE DE LICENCES </H2>";
echo "<H2 align=center> Association : $association </H2>";
echo "<H3 align=center> Correspondant : $correspondant </H3>";
echo "<H2 align=center> Nombre de licences : ($q1\tcompétition\t + $q2\tdirigeant)\t x Montant = $p1 euros\n </H2>";
echo "<P align=center> Règlement par chèque N°:_______________</P>";
echo "<P align=center> --------------------------------Signature--------------------------------</P>";
echo "<H1 align=center> _________________________</H1>";
echo "<P align=center> ---------------------------------------------------------------------------------------------------------------------";
echo "<P align=center>";
echo '<a href="javascript:window.print()">Imprimer la page</a>';
echo "<P align=center> Nom";
echo "<P align=center> Adresse";
echo "<P align=center>";
echo "<a href=http://www.siteweb.fr>Retour sur le site web </a>";
echo "</BODY></HTML>";
?>

 

Merci de votre aide

Hors ligne

#8 19-09-2011 11:32:03

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Formulaire - Traitement Php - Mail avec tableau de données

iguins85 a écrit :

Néanmoins, dans mon cas les tabulations et newline se révèlent utiles.

Je parle de ceux dans les balises <h2> et <h3>


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 19-09-2011 13:34:56

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Re : Formulaire - Traitement Php - Mail avec tableau de données

ok Maljuna Kris,
Autant pour moi.
Je vais au moins pouvoir nettoyer un peu mon code.
J'en apprends tous les jours...

Hors ligne

#10 19-09-2011 13:37:50

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Formulaire - Traitement Php - Mail avec tableau de données

Puisque tu veux en apprendre tous les jours, l'expression consacrée est : au temps pour moi


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#11 19-09-2011 14:09:26

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Re : Formulaire - Traitement Php - Mail avec tableau de données

C'est exact sur le plan historique. Même si "Autant pour moi" semble de plus en plus utilisé et défendu.
J'espère que vous ne corrigez pas tous les messages que vous recevez car vous devez avoir un sacré boulot...
Merci en tout cas de vous interresser euh.. vous intéressez.. intéresser à mon problème...
Bonne journée

Hors ligne

#12 19-09-2011 15:53:35

iguins85
Membre
Inscription : 16-09-2011
Messages : 7

Re : Formulaire - Traitement Php - Mail avec tableau de données

Bonsoir à tous,

Problème résolu...
Merci Jc de m'avoir mis sur la bonne piste.
Merci Maljuna Kris pour tes conseils grammaticaux.

je vous souhaite une bonne soirée.

Hors ligne

Pied de page des forums