Bug #18236 Updated: EXACT HTTP POST data access

From: Date: Tue, 09 Jul 2002 14:02:59 +0000
Subject: Bug #18236 Updated: EXACT HTTP POST data access
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-13606@lists.php.net to get a copy of this message
ID: 18236 Updated by: derick@php.net Reported By: foobardotcom@poczta.onet.pl Status: Open Bug Type: Feature/Change Request Operating System: Linux cyberhq 2.4.19-pre6 #2 SMP PHP Version: 4.2.1 New Comment: Or with XHTML 1.1: http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_extformsmodule NAME = CDATA here too Previous Comments: ------------------------------------------------------------------------ [2002-07-09 09:59:44] sesser@php.net here is the url: http://www.w3.org/TR/html401/interact/forms.html#h-17.4 ------------------------------------------------------------------------ [2002-07-09 09:57:00] sesser@php.net The claim that [] violates html 4.0 is simply wrong. The html 4.0 specification clearly states that the name attribute for the input tag is of the type CDATA and not of type ID/NAME. ------------------------------------------------------------------------ [2002-07-09 07:42:15] markonen@php.net After a brief debate on #php.bugs, it looks like the only suitable alternative syntax would be array-key- = value or array_key_ = value i.e. substituting a hyphen or an underscore for the square brackets. This way we'd be compatible with the "Namespaces in XML" recommendation (at http://www.w3.org/TR/REC-xml- names/) which gives meaning to colons in name tokens. The place to implement this would be php_register_variable_ex() in main/php_variables.c. There will be a small performance penalty. ------------------------------------------------------------------------ [2002-07-09 07:07:53] markonen@php.net Right. We need a standards-compliant, alternative syntax for the current array[] feature. The magical convert-all- multiply-defined-vars-to-an-array stuff isn't going to happen. There are just too many issues to deal with on that road. ------------------------------------------------------------------------ [2002-07-09 06:53:25] m.ford@lmu.ac.uk The problem here is not really needing to type the extra two characters, but that the resulting name/id is *not* *in* *conformance* *with* *HTML4.0*, which states that: > ID and NAME tokens must begin with a letter ([A-Za-z]) > and may be followed by any number of letters, digits > ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), > and periods ("."). [http://www.w3.org/TR/html401/types.html#h-6.2] So we either have to write non-conformant HTML (not even permitted at some sites!), or program round it (e.g. by naming form elements foo_1, foo_2... and then searching for them in a loop), which is inefficient. Besides this one, bugs #10502, #15498 and #16195 are all OPEN feature requests for the "automatically convert to array" functionality, so there is a fair level of demand for it. Besides, a language that claims to be "especially suited for Web development" [http://www.php.net/] should not actually prevent the writing of standards-conformant Web pages. I wish I had the spare time to investigate the PHP sources and write a patch for this myself, but I just don't. (I only just find time to read the lists most days, but sometimes I even have to dump 100s of messages unread!) Cheers! ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/18236 -- Edit this bug report at http://bugs.php.net/?id=18236&edit=1

« previous php.bugs (#13606) next »