What are the precise rules/PHP function for encoding strings into POST arrays?
Posted
by AlexeyMK
on Stack Overflow
See other posts from Stack Overflow
or by AlexeyMK
Published on 2010-05-26T22:08:47Z
Indexed on
2010/05/26
22:11 UTC
Read the original article
Hit count: 311
Greetings,
Just getting into PHP web development. I've got an HTML form where a user checks some series of dynamically-generated checkboxes, and submits via POST. On the PHP side, I want to check which of the check-boxes were clicked.
I have an array $full_list, and am doing something like
$selected_checkboxes = array_filter($full_list, function($item) {
array_key_exists($item, $_POST);
}
I run into problems when a list item is named, for example "Peanut Butter", since in the POST array it is named "Peanut_Butter".
I could certainly just str_replace " " with "_" before checking array_key_exists, but I imagine that there is a more fundamental encoding problem here; specifically, I'm not sure of exactly what layer transforms normal strings in HTML Forms (value="Peanut Butter") into "Peanut_Butter".
So:
- what layer is responsible for this conversion? Is it the browser?
- what are the exact conversion rules, and is there a PHP function out there that will replicate that exact conversion?
Thanks!
© Stack Overflow or respective owner