Suite à un formulaire....

t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un formulaire sur un site, qui une fois rempli m'envoie un mail avec les éléments du formulaire :

$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$demande = $_POST['demande']; 

$msg = "De:\t$nom  $prenom\n"; 
$msg .= "Sa demande:\t$demande\n\n"; 
............


Le "$msg" est ce que je reçois par mail.
Je souhaietrais que dans le mail que je reçois, les "De:" et "Sa demande:" soient soulignés.
Comment le préciser dans le script ?

Merci

8 réponses

ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
Bonjour,
pour souligner du texte dans un e-mail, il suffit d'utiliser le code HTML correspondant. Il suffit donc de mettre "De:" et "Sa demande:" entre les balises
<u> et </u>
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Ben non !
Si j'écris :

$msg = "<u>De:</u>\t$nom  $prenom\n"; 
$msg .= "<u>Sa demande:</u>\t$demande\n\n"; 


dans le message que je reçois, les <u> et </u> apparraissent.

Si j'écris :

$msg = <u>"De:"</u>"\t$nom  $prenom\n"; 
$msg .= <u>"Sa demande:"</u>"\t$demande\n\n"; 


le script est en erreur.
0
ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
C'est parce que vous n'avez pas précisé à PHP que votre mail contient du code HTML. Voyez l'exemple n°4 de cette page pour en savoir plus: https://www.php.net/manual/fr/function.mail.php
0
jp
 
$msg = '<html>';
$msg.= '<body>';
$msg.= 'blabla';
$msg.= '</body>';
$msg = '</html>';
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

J'ai essayé sans succès :
$msg = '<u>' "De:" '</u>' "\t$nom  $prenom\n"; 

=> erreur
et
$msg = '<u>';
$msg = "De:\t$nom  $prenom\n"; 

=> pas de résultat .......... !!!!!

Dans le premier essai, je voudrais qu'uniquement le "De:" soit souligné.

:-(
0
ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
Bonjour,
c'est parce qu'il faut préciser ceci dans mail():
'Content-type: text/html; charset=iso-8859-1' . "\r\n"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Et je fais comment pour préciser 'Content-type: text/html; charset=iso-8859-1' . "\r\n" dans mon script, et où ????

$msg = "De:\t$nom  $prenom\n";
$msg .= "Sa demande:\t$demande2\n\n";
$recipient = "xxxxxxxxxx@numericable.fr";	
$subject = "..........";
$mailheaders = "From: Formulaire contact <> \n";
$mailheaders = "Bcc: xxxxxxxxxx@gmail.com\n"; 
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);
header("Location: remerciement.php?nom=$nom&prenom=$prenom" );
0
ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
Ajoutez ceci:
$mailheaders .= "Content-type: text/html; charset=iso-8859-1\r\n";
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
J'ai écrit donc ceci :

$msg = '<u>';
$msg = "De:\t$nom  $prenom\n";
$msg .= "E-Mail:  \t$email\n";
$msg .= "Sa demande:\n\n$demande2\n";

$recipient = "xxxxxxxxx@gmail.com\n";				
$subject = "xxxxxxxxxx";
$mailheaders .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mailheaders = "From: yyyyyyyyyy<> \n";
$mailheaders .= "Reply-To: $email\n\n";


Et le soulignement n'apparait pas !?

Question en + :
Quand je reçois le formulaire dans ma boîte mail, je le reçois de = adresse de l'hébergeur. Normalement, l'adresse de .... ne devrait-il pas être, dans le cas ci-dessus, yyyyyyyyyyyyyy ???

Merci
0
ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
remplacez:
$mailheaders .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mailheaders = "From: yyyyyyyyyy<> \n";
par:
$mailheaders = "From: yyyyyyyyyy<> \n";
$mailheaders .= "Content-type: text/html; charset=iso-8859-1\r\n";
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Etrange .................. !!!!!!

Si j'inverse les lignes, comme précise ze-life-of-quent1, l'affichage du formulaire reçu par mail est sur une seule ligne.
Et pour le "from", toujours pareil. L'adresse est celle du serveur !

Je récapitule mon code en entier :

<?php 

$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$demande = $_POST['demande'];

$msg = '<u>';
$msg = "De:\t$nom  $prenom\n";
$msg .= "Sa demande:\n\n$demande\n";

$recipient = "xxxxxxxxxxx@gmail.com\n";				
$subject = "xxxxxxxxx";
$mailheaders = "From: yyyyyyyyyyyyyy<> \n";
$mailheaders .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mailheaders .= "Reply-To: $email\n\n";


mail($recipient, $subject, $msg, $mailheaders);
header("Location: remerciement.php?nom=$nom&prenom=$prenom" ); 
?>
0
ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
Remplacez:
$msg = '<u>';
$msg = "De:\t$nom  $prenom\n";
$msg .= "Sa demande:\n\n$demande\n";
par:
$msg ="<u>";
$msg .= "De:\t$nom  $prenom<br />";
$msg .= "Sa demande:<br /><br />$demande<br />";

En fait, vous devez remplacer tous les sauts de ligne du message par <br />
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Merci ze-life-of-quent1 ! J'ai enfin réussi !!!!!
Par contre, pour
$mailheaders = "From: yyyyyyyyyy<> \n";

cette ligne devrait afficher yyyyyyyyyy pour l'émetteur du message lors de la réception ! Non ?
Et moi, ça m'affiche l'adresse du serveur, soit "serveur@free.fr".

Pourquoi ?
0