web-dev-qa-db-fra.com

comment supprimer les entrées de case à cocher?

J'ai ajouté une meta box: case à cocher sur l'écran de modification de l'administrateur

<input type="checkbox" name="changeposition" />

Alors, comment pouvons-nous assainir les entrées qui proviennent de la case à cocher comme nous le faisons pour le type de texte saisi par sanitize_text_field(). Existe-t-il une fonction de ce type pour la désinfection des cases à cocher ou devrions-nous créer une méthode personnalisée à cet effet?

2
Ashish

Assurez-vous de définir la valeur dans votre balise. Tu aurais dû.

<input type="checkbox" name="changeposition" value="yes" />

Ensuite, je suggérerais d’utiliser sanitize_key() pour assainir.

Les clés sont utilisées comme identificateurs internes. Les caractères alphanumériques minuscules, les tirets et les traits de soulignement sont autorisés.

Pensez à Word yes, comme une clé. C'est ce que vous attendez d'une valeur alphanumérique minuscule.


Voir aussi: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox

Si l'attribut value était omis, les données soumises se verraient attribuer la valeur par défaut, alors les données soumises seraient alors subscribe = on.

1
jaswrks

Je suggérerais la fonction filter_var() en PHP. Il possède des filtres prédéfinis que vous pouvez utiliser.

Pour désinfecter un numéro:

$sanitizedCheckbox = filter_var( $yourVar, FILTER_SANITIZE_NUMBER_INT );

Pour une chaîne, il suffit de changer _NUM_INT en _STRING.

0
550