Problème avec Htmlspecialchars

Fermé
Profil bloqué - 29 janv. 2013 à 14:10
 Profil bloqué - 29 janv. 2013 à 15:02
Bonjour, je debute avec php et j'ai un problème avec "htmlspecialchars"
voila j'ai deux pages formulaire et cible voici un petit aperçu du code de la page cible:

<p> mon paragraphe : <?php echo htmlspecialchars($_POST['var']); ?> !</p>

sachant que que j'ai saisie ma variable au moment de l'execution de ma page formulaire


quand j'ecrit par exemple<strong>nom</strong>

j'ete senser avoir comme resultat:
<strong>nom</strong>


bref php devait me remplaçer "<" par < et ">" par >


mais au lieu de ça il m'affiche la phrase avec mes balise sans aucune modification a savoir:
<strong>nom</strong>



6 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
29 janv. 2013 à 14:36
tu veux dire que ça t'affiche ton texte en gras ?
0
non ca :<strong>nom</strong>
je l'ecrit lorsque j'execute ma page formulaire ya une zone qui dit entrer le nom puis quand j'entre un nom et que j'appuie sur le boutton valider
j'entre dans la page cible (celle qui fait le traitement)

normalemtn ca doit afficher par exemple : bonjour(puis le nom que j'ai saisie lors de l'execution de ma page formulaire)

et moi dans la zone ou je doit mettre un nom j'ai mis : <strong>nom</strong>

tu vois? alors quand je n'utilise pas htmlspecialchars c normale que s'a s'affiche comme elle est

mais quand je mais "htmlspecialchars" ca devra s'afficher comme ca

& l t ; strong & g t ; Badaboum & l t ; /strong & g t

(bon j'ai mis les espaces car si je les elimine ca s'affiche avec les balises)
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
29 janv. 2013 à 14:46
si tu veux afficher "<strong>nom</strong>" via un htmlspecialchars, ça va t'afficher dans ta page "<strong>nom</strong>", donc si c'est ce que tu obtiens, c'est que ton a fonctionné "correctement", par contre si tu obtiens ça mais que ce n'est pas ce que tu veux, alors tu n'emploies pas la bonne méthode.
0
Profil bloqué
29 janv. 2013 à 14:49
moi je voulais qu'il enleve les chevrons et qui les remplace avec leur signification a savoir
"& l t ;" "& g t ;" mais biensur sans les espaces

je voulais utilisé la methode du code HTML echapé
0

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

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
29 janv. 2013 à 14:56
si tu fais un double htmlspecialchars, ça devrait le faire.

Il y a peut être un "meilleur" moyen de le faire mais je ne le connais pas.
0
predact Messages postés 170 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 15 mai 2015 16
Modifié par predact le 29/01/2013 à 14:58
Je crois que tu n'as pas bien compris l'intérêt de htmlspecialchars(). C'est une fonction qui évite qu'on puisse insérer du code interprétable directement dans ton code (SQL, javascript...).

En gros tout ce qui passe dans htmlspecialchars ça se transforme en chaine de caractères (avec les codes HTML pour les spéciales Chars) comme ça c'est plus du code mais du texte. Car les code html sont réinterprété lors de l'affichage donc tu ne vois que ton texte normal et pas avec les &???.

Une petite liste qui peut t'intéresser: https://www.commentcamarche.net/contents/489-caracteres-speciaux-html
0
Profil bloqué
29 janv. 2013 à 15:02
merci beaucoup
0