Re: Parsing of forms
| From: | Daniele Grillenzoni | Date: | Tue, 19 May 2009 13:37:15 +0000 |
| Subject: | Re: Parsing of forms | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-292770@lists.php.net to get a copy of this message | ||
On 18/05/2009 10.42, Peter Ford wrote:
Daniele Grillenzoni wrote:My complaint is this: a I can have a select multiple with a normal name, which is allowed by every spec, but PHP requires me to use [] in order to properly retrieve the values. I guess I would settle for a function or an alternative array to $_GET and $_POST that worked properly. Creating a function to fix those things is actually not that hard, but calling it everytime you need to use those arrays creates a lot of overhead. So maybe a core, or a PECL extension is/would be the answer.I noticed that php's way to fill $_GET and $_POST is particularly inefficient when it comes to handling multiple inputs with the same name. This basically mean that every<select multiple> in order to function properly needs to have a name ending in '[]'. Wouldn't it be easier to also make it so that any element that has more than one value gets added to the GET/POST array as an array of strings instead of a string with the last value? I can see the comfort of having the brackets system to create groups of inputs easily recognizable as such, while I can overlook the impossibility of having an input literally named 'foobar[]', having to add [] everytime there is a slight chance of two inputs with the same name. This sounds flawed to me, as I could easily append '[]' to every input name and have a huge range of possibilities unlocked by that. This can't be right. Or can it?Isn't it ironic that a post about multiple form inputs is posted four times? That's not a good way to make friends here, Daniele... I really don't understand your complaint - in general if your form has multiple inputs with the same name, then you either meant to do that, (like a multiple select, in which case there's not really a big deal to add the []), or it's wrong and wouldn't work as expected anyway. You could append [] to every input - that would be lovely, but it would hide the possibility that you mistakenly gave two inputs the same name. It's true that every so often I can't work out why something is not posting an array to PHP when I expected it to, and a look back to the form to find I'd missed a [] on the name is the answer. As I like to say in other areas of life (especially to my children), "stop whining and get on with it!" ( sorry :) ) I'm sorry, it was due to my antispam block, which in turn blocked the mailing list antispam check. Quite ironic indeed. Also I thought I canceled the other 3, apparently it's something that is only apparent.