Problème variable php

Résolu/Fermé
serpan2 Messages postés 178 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 10 juin 2015 - Modifié par jordane45 le 10/06/2015 à 11:24
Danelectro Messages postés 1737 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 - 10 juin 2015 à 11:48
Bonjour,

J'ai un petit problème qui me bloque et que je le comprend pas qui est le suivant:
J'ai une variable de type string $headers qui contient du text et 2 variable ($nom_dest et $mail_dest) :
$nom_dest = "AAA";
$mail_dest = "aa@bb.cc";
$headers ="From: $nom_dest <$mail_dest>\n";

quand je fait un echo:
echo $headers;

elle m'affiche :
From: AAA

et sitout !!! le reste "<aa@bb.cc>" je le vois pas . Pourquoi et comment faire ?
Merci d'avance.


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.



Il en est des livres comme du feu de nos foyers; on va prendre ce feu chez son voisin, on l'allume chez soi, on le communique à d'autres, et il appartient à tous . Voltaire

3 réponses

Danelectro Messages postés 1737 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 370
Modifié par Danelectro le 10/06/2015 à 11:24
Salut,
Remplace
<
par
& lt;
et
>
par
& gt;
, en collant le "&" au reste (CCM l'interprete et ça affiche un chevron si je le colle !). Sinon le navigateur essaie t'interpréter <aa@bb.cc> comme une balise HTML.
0
Utilisateur anonyme
10 juin 2015 à 11:29
Puisque tu sembles connaître les entités html, écris plutôt &amp;lt; pour afficher &lt; sans avoir besoin d'ajouter une espace.
0
Danelectro Messages postés 1737 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 370
10 juin 2015 à 11:30
Pas bête non plus, merci de l'astuce :P
0
Utilisateur anonyme
10 juin 2015 à 11:43
Il n'y a absolument pas plus d'astuce que quand tu remplaces < par &lt;. Dans les deux cas, c'est l'utilisation basique des entités HTML, je ne vois pas la différence.
0
Danelectro Messages postés 1737 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 370
Modifié par Danelectro le 10/06/2015 à 11:48
Oui oui, par astuce je voulais dire que je n'avais pas pensé à utiliser &amp; pour &
0
Utilisateur anonyme
10 juin 2015 à 11:23
Bonjour

C'est parce que $mail_dest est entre < et > : le HTML le prend pour une balise et ne l'affiche pas. Quand tu écris par exemple <div> dans une page, tu ne vois pas "div" s'afficher : c''est la même chose.
Il faut utiliser la fonction htmlspecialchars pour voir même ce qui est entre < et > :
echo htmlspecialchars($headers); 
0
Danelectro Messages postés 1737 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 370
10 juin 2015 à 11:25
Ah oui, plus intelligent comme ça ^^
0
serpan2 Messages postés 178 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 10 juin 2015 6
10 juin 2015 à 11:30
Vraiment un grand merci à vous Deux Danelectro et le père c'est résolu :)))
et j'ai compris ;)
0