Bonjour à tous,
J'ai un formulaire qui envoie des données avec la méthode POST. Je prend soin d'utiliser htmlspecialchars() pour traiter les (') et les (") de mes chaînes avant de les inclure dans ce formulaire.
Quand j'examine le code source de ce formulaire tel qu'il s'affiche dans mon navigateur, j'ai par ex. :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form class="noprint" action="./ajouter.php" method="post"> <input class=ajouter type=submit value="Modifier cette activité"> <input type=hidden name="action" value="2"> <input type=hidden name="id_activite" value="37"> <input type=hidden name="titre" value="2e Salon du "Développement Durable" à Méry-Tilff">
(etc.)
Je récupère la donnée "titre" avec le script ajouter.php gràce à
$titre=$_POST['titre'];
et je la teste immédiatement avec
echo "<!-- $titre -->\n";
et quand je récupère le code html de cette page, je trouve
<!-- 2e Salon du \"Développement Durable\" à Méry-Tilff -->
Pourrait-on m'expliquer pourquoi les entités html ont été reconverties en guillemets précédés d'un \ ?
Le problème se pose de la même manière avec les (<) (>) et (').
Meci d'avance,
G.
Partager