Bonjour,
J'aurais deux petites questions en rapport au tutorial PHP publié sur YouTube.
1) J'ai toujours entendu dire que la règle numéro 1 était de ne pas faire confiance en les données fournies par l'utilisateur. Or dans le tutoriel on ne protège jamais les variables $_POST envoyées par l'utilisateur par un htmlspecialchars, pourquoi ? J'aurais tendance à croire que c'est nécessaire étant donné qu'on affiche ces variables soit sur la page de formulaire lorsqu'il y a eu une erreur et qu'on veut éviter que l'utilisateur perde tout ce qu'il avait écrit, soit dans l'email envoyé.
Par contre j'ai fais un test, sans htmlspecialchars, en injectant du code html dans mon formulaire. Dans le champs name j'écris "< b >Benoit< / b >" et que je provoque une erreur pour réaffichier le formulaire avec mes données précédemment rentrées, je vois que le champs name est "< b >Benoit< / b >", c'est à dire que les balises html sont bien présentes mais ne sont pas "lues" vu que le nom n'est pas mis en gras. Pourquoi les balises html sont ignorées alors qu'on a pas utilisé de htmlspecialchars ?
2) J'ai ajouté un champs titre à mon formulaire. Ce champs est susceptible de recevoir des titres contenant des apostrophes et des guillemets. Or dans ce cas, si une erreur survient dans mon formulaire et que le titre contenant des apostres et guillemets et réaffiché sur la page du formulaire, le titre est tronqué au niveau des guillemets ou des apostres, en fonction de si j'ai utilisé des "" ou des '' dans mon code. Comment résoudre ce soucis ?
Voilà, j'espère que l'un de vous saura m'éclairer, merci.