Mail en PHP

Comment faire pour les retours à la ligne et protéger contre les scripts malintentionnés?

P.expl:

$message = HTMLSpecialChars($message);
$message = "Prénom : $prenom";
$message .= "<br>Nom : $nom";

Mais là je reçois Prénom : Jean&lt;&gt;Nom : Dupont.

:-(

2 réponses

  1. retour à la ligne : "\n"
    protéger contre les scripts malententionnés: met addslashes au lieu de htmlspecialchars et tu mettras un stripslashes juste avant l'affichage. voilà @+
    1. Merci pour le stripslashes(), ça m'évite des message genre "A l\'occasion, ...".

      Par contre, j'ai testé sans le htmlspecialchars et si on met <b> à la fin d'un champs du formulaire, la suite de la page de confirmation est en gras.

      Si je mets un

      $corps .= "\n $prenom";

      j'obtiens une erreur même avec un addslashes($prenom); et le mail ne part.

      Qu'est-ce que je fais de faux?

      Merci et @+