Définition de l'attribut de valeur HTML avec des espaces
Lorsque vous essayez de définir la valeur d'un élément d'entrée HTML à l'aide de PHP avec des données contenant des espaces, cela peut Il convient de noter que seule une partie des données est affichée. Pour résoudre ce problème, il est crucial de citer la valeur pour éviter que les espaces ne deviennent des séparateurs d'attributs.
Code original :
<input type="text" name="username" <?php echo (isset($_POST['username'])) ? "value = ".$_POST["username"] : "value = \"\""; ?> />
Incorrect Sortie :
<input value=Big Ted>
Explication :
L'espace dans "Big Ted" fait que les données suivantes sont interprétées comme des attributs distincts, ce qui donne uniquement " Gros" affiché.
Solution :
Assurer la valeur avec des espaces est rendu correctement, il doit être placé entre guillemets :
<input value="<?php echo (isset($_POST['username']) ? htmlspecialchars($_POST['username']) : ''); ?>">
Sortie mise à jour :
<input value="Big Ted">
Précaution supplémentaire :
La fonction htmlspecialchars() est recommandée pour empêcher les attaques XSS en échappant à tout caractère spécial dans le nom d'utilisateur.
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!