Problème avec Htmlspecialchars

Profil bloqué -  
 Profil bloqué -
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&gt

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

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

6 réponses

  1. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 605
     
    tu veux dire que ça t'affiche ton texte en gras ?
    0
  2. Profil bloqué
     
    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
  3. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 605
     
    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
  4. Profil bloqué
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 605
     
    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
  7. predact Messages postés 187 Statut Membre 16
     
    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
    1. Profil bloqué
       
      merci beaucoup
      0