Maison > développement back-end > tutoriel php > Pourquoi mon attribut de valeur d'entrée HTML est-il tronqué au niveau des espaces lors de l'utilisation de PHP ?

Pourquoi mon attribut de valeur d'entrée HTML est-il tronqué au niveau des espaces lors de l'utilisation de PHP ?

Susan Sarandon
Libérer: 2024-12-16 02:15:12
original
430 Les gens l'ont consulté

Why Does My HTML Input Value Attribute Truncate at Spaces When Using PHP?

Confusion des délimiteurs d'attributs de valeur avec des espaces dans les données d'entrée

Lors du remplissage de l'attribut de valeur d'un élément d'entrée HTML à l'aide de PHP, les espaces peuvent provoquer un comportement inattendu. Prenons l'exemple suivant :

<input type="text" name="username"
<?php echo (isset($_POST['username'])) ? "value = ".$_POST["username"] : "value = \"\""; ?> />
Copier après la connexion

Si un utilisateur saisit « Jonathan » comme nom d'utilisateur, il s'affiche correctement. Cependant, s'ils saisissent « Big Ted », seul « Big » s'affiche après la soumission du formulaire.

Le problème réside dans la gestion des espaces dans l'attribut value. Sans délimiteurs appropriés, l'espace devient un séparateur d'attribut, ce qui entraîne le traitement du texte suivant comme des attributs supplémentaires.

Pour résoudre ce problème, l'attribut value doit être mis entre guillemets. L'utilisation de guillemets doubles garantit que les espaces sont inclus dans la valeur plutôt que de la diviser en attributs distincts :

<input value="<?php echo (isset($_POST['username'])) ? htmlspecialchars($_POST['username']) : ''; ?>" />
Copier après la connexion

De plus, la fonction htmlspecialchars() doit être utilisée pour échapper à tout caractère spécial, y compris les guillemets, afin d'éviter les croisements. -Attaques de script de site (XSS).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal