PHP mettre en gras pour envoi mail depuis formulai

Bonjour à tous!

J’ai un ami qui programme un peu en php. Aujourd’hui j’ai mis à jour mon formulaire de contact avec son code. Mais j’ai deux problèmes:

premièrement je voudrais que lorsque le formulaire envoi le message, les entetes soient en gras. Je m’explique, quand je reçois le mail j’ai paramétré pour que ce soit sous cette forme:
Nom
E-Mail
Sujet

Ce sont ces mots que je veux en gras pour plus de clarté

La deuxième question est de savoir si ce code est totalement sécurisé, car je veux éviter les hacks en tout genre qui se produise de plus en plus de nos jours.

Voici le code:


<?php
require('mail.php');
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];
$ip = $REMOTE_ADDR;
if(empty($nom))
{
echo'<font color="#880000"><br><u>ERREUR</u> : Tous les champs doivent être complétés</font><br>';
}
if(empty($mail))
{
echo'<font color="#880000"><br><u>ERREUR</u> : Tous les champs doivent être complétés</font><br>';
}
if(empty($sujet))
{
echo'<font color="#880000"><br><u>ERREUR</u> : Tous les champs doivent être complétés</font><br>';
}
if(empty($message))
{
echo'<font color="#880000"><br><u>ERREUR</u> : Tous les champs doivent être complétés</font><br>';
}
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',$mail))
{
echo'<font color="#880000"><br><u>ERREUR</u> : La syntaxe de votre adresse email n\'est pas correcte</font><br>';
} 
else
{
//Création du message
$titre="Message Site";
$tete="From:contact\n";
$corps.="ip : ".$ip."\n";

$corps.="Nom : ".$nom."\n";
$corps.="E-Mail : ".$mail."\n";
$corps.="Sujet : ".$sujet."\n";
$corps.="Commentaires : ".$message."\n";
if(mail($destinataire, $titre, stripslashes($corps), $tete))
{
$ok_mail="true";
}
else
{
$ok_mail="false";
}
if($ok_mail="true")
{
?>
<p style="text-align: center"><b><font size="3" color="#1955A3"><br><br><br>Merci pour votre mail ainsi que l'intérêt que vous portez à *******!<br></font></b></p>
  	<p style="text-align: left"> </p>
  	<p style="text-align: left"><b><font size="3" color="#1955A3"><br></font></b>
  	<font face="Arial" size="2">Votre e-mail a bien été pris en compte! Le webmaster s'efforcera d'y apporter une réponse dans les meilleurs délais et dans la mesure du possible! Merci de votre compréhension. 
  	</font></p>
  	<p style="text-align: left"><font face="Arial" size="2">Le webmaster</font></p>
<?php
}
else
{
$echo="</br><font color='#880000'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.";
}
}
?> 

Merci à vous, amicalement

Peux tu indiquer le langage dans le titre de ton topic, merci :slight_smile:

Personne ne sais comment faire pour que Nom, email, et commentaire apparaissent en gras dans le mail qui me sera envoyé?
Et puis le sécurité du script m’interesse beaucoup aussi.
Merci :slight_smile:

mise en gras, peut être comme ça :


<?php
$corps.="<b>Nom :</b> ".$nom."\n";
$corps.="<b>E-Mail :</b> ".$mail."\n";
$corps.="<b>Sujet :</b> ".$sujet."\n";
$corps.="<b>Commentaires :</b> ".$message."\n";

?> 

nan ? :slight_smile:

Merci, mais déjà essayé, ça ne le prend pas comme du code, mais comme de la rédaction et je retrouve les balises dans le mail.
Merci quand même!
D’autres avis?

dans ce cas envoie le mail en html et non en texte basique, si tu veux avoir des chance que ça marche :super:

Eh bien il faut voir la maniere dont est lu le mail. Si le mail est lu en mode texte, aucune chance que le html soit interprete.

Cet article explique tres bien le probleme.
http://www.vulgarisation-informatique.com/mail.php

Quand a la securite, rien n’est jamais sur, mais le code parait correct.

Merci
C’est quand même assez la galère, je m’attendais à plus simple.
je vais tout de même essayer quelque chose, car les mails au formats texte doivent surement pouvoir disposer du gras ou de l’italique.
Je vous tiens au courant.
Merci

je te contredis de suite :slight_smile:
le mail en texte c’est préformatté, tu neu peux lui appliquer de mise en forme. C’est un peu le principe du notepad de windows :wink:

Effectivement tu as raison , ça ne fonctionne pas.
Je pense que je vais abandonner cette idée de gras, parce que c’est assez lourd. Je n’arrive pas à obtenir ce que je veux, et je galère depuis le début d’aprem dessus…
Enfin merci quand même.
Amicalement

Je vois pas le problème, envoies en HTML y a rien de bien compliqué juste à rajoutter 2 lignes…

Et bien le problème c’est que je n’arrive pas à modifier mon code pour le faire…

$corps="<html > \n<body>\n";
$corps.="ip : ".$ip."\n";
$corps.="Nom : ".$nom."\n";
$corps.="E-Mail : ".$mail."\n";
$corps.="Sujet : ".$sujet."\n";
$corps.="Commentaires : ".$message."\n";
$corps.="</body>\n</html > \n";

Voila pour le corps, après faut-il spécifier dans le header? Je me souviens plus, ça doit être un turk du genre :

$tete.=‘Content-Type: text/html; charset=“iso-8859-1”’."\n";