Juste entrer dans le développement web PHP. J'ai un formulaire HTML où un utilisateur vérifie certaines séries de cases à cocher générées dynamiquement, et soumet via POST. Du côté PHP, je veux vérifier lesquelles des cases ont été cliquées.Quelles sont les règles/fonctions PHP précises pour encoder les chaînes dans les tableaux POST?
J'ai un tableau full_list de $, et je suis en train de faire quelque chose comme
$selected_checkboxes = array_filter($full_list, function($item) {
array_key_exists($item, $_POST);
}
Je rencontre des problèmes lorsqu'un élément de liste est nommé, par exemple « Beurre d'arachide », puisque dans le tableau POST, il est nommé " Beurre d'arachide".
Je pourrais certainement juste str_replace "" avec "_" avant de vérifier array_key_exists, mais j'imagine qu'il y a un problème de codage plus fondamental ici; plus précisément, je ne suis pas sûr de savoir exactement quelle couche transforme les chaînes normales dans les formulaires HTML (value = "Peanut Butter") en "Peanut_Butter".
Alors:
- ce que la couche est responsable de cette conversion? Est-ce le navigateur?
- Quelles sont les règles de conversion exactes, et existe-t-il une fonction PHP là-bas qui répliquera cette conversion exacte?
Merci. Un urlencode suffirait-il à répliquer tout ce qui se passe sur le code client? – AlexeyMK
Vous pouvez simplement utiliser firebug ou fiddler. créer un simpel
et ensuite mettre du texte. Regardez sur le panneau net dans firebug pour voir ce que le navigateur envoie. Si vous utilisez firefox, prenez le violoneur et faites la même chose. Je promets cependant, vous avez un peu de javascript réécrire vos chaînes. –Je suis sûr de le faire, et je vais regarder ça. Je suis plus intéressé, cependant, dans quelle fonction du côté du serveur PHP réplique tout ce que font les navigateurs. Aussi, est-ce que j'aborde ce problème de la mauvaise façon? Je ne peux pas être le premier à devoir vérifier laquelle d'une série de cases à cocher a été cliquée. – AlexeyMK