67 votes

Comment échapper correctement aux valeurs par défaut du formulaire html en php?

Étant donné les deux extraits html / php suivants:

<input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" />

et

<textarea name="content"><?php echo $_POST['content']; ?></textarea>

Quel codage de caractères dois-je utiliser pour les variables $_POST renvoyées? Puis-je utiliser des fonctions PHP intégrées? Veuillez supposer que les valeurs $_POST n'ont pas encore été codées. No magic ne cite pas rien.

104voto

rid Points 24625

Utilisez htmlspecialchars($_POST['firstname']) et htmlspecialchars($_POST['content']) .

Toujours échapper les chaînes avec htmlspecialchars() avant de les montrer à l'utilisateur.

4voto

PJ Brunet Points 640

Cependant, htmlspecialchars () ne vous aidera pas avec value='single quotes'

C'est ce qui se passe:

value='We're not using this in our &quot;code&quot;...'

Tout ce que vous voyez est We

4voto

Niklas Points 17865

htmlspecialchars fonctionnerait dans les deux cas. Examinez les différentes options de drapeau pour éviter que les guillemets ne posent un problème dans le cas input .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X