ID: 13718 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: Feature/Change Request Operating System: All PHP Version: 4.0.6 New Comment:
I'm sorry to keep bringing this issue to light, but this actually would mimic that of your existing functionality. If you name an element in a form with a [] that does not garuntee that the variable on the other end will be an array. If there is only one element posted with that name followed by [] it will end up as a standard variable. So, I again make the plea: If you have more than one element with the same name with or without a [] it will come out an array. If you have one element with or without a [] it will come out the other end as a single variable. It is possible that you actually intended for the single element with [] to come out as an array, if that is the case, I guess you should consider this a bug report for the functionality of trailing [] in forms. Previous Comments: ------------------------------------------------------------------------ [2001-10-18 11:38:37] [EMAIL PROTECTED] Oh, I'm sorry, I missunderstood you. I understand what you are getting at, ambiguity can be a problem. I guess I'll just deal with using the suggestion of indexing on a string in javascript. Thank you for all your help. ------------------------------------------------------------------------ [2001-10-18 11:33:49] [EMAIL PROTECTED] no, i didn't ;) i just tried to describe what would happen *if* we would follow your suggestion and that it is a not so good idea after all (although we definetly should have a look at the [] syntax regarding standard conformance) ------------------------------------------------------------------------ [2001-10-18 10:57:57] [EMAIL PROTECTED] wow, I just noticed that you are suggesting that php actually generate an array! I posted two example html files, that clearly show that you are wrong. PHP always treats them as a single variable, no matter how many are actually set. ------------------------------------------------------------------------ [2001-10-18 10:54:37] [EMAIL PROTECTED] sorry, I refreshed the page, and it reposted. Thank you for your help, I hope that you will consider my suggestion for future releases. ------------------------------------------------------------------------ [2001-10-18 10:53:44] [EMAIL PROTECTED] I do understand that if you were in the middle of a php script, this would be a simple reassigning of the variable. However, this is a preprocessor command, and thus should be handled a little differently. Adding a "[]" at the tail of a variable and having it come out as an array on the other end seems a like a trick. It has its uses I'll give you that, but if you look at my suggestion you will realize that it would be a nice feature. You guys seem to have take the time to make sure that elements with "[]" get properly shoved into arrays, so why not this. This is a fairly common situation in html forms. Especially if you are dynamically generating them. What this really comes down to is, are you willing to overlook the fact that something like this does sort of already exist, in favor of another form of functionality? There is one other issue. If you use the variable names that you suggest, it breaks javascript. ie: <html> <body> <form name="form1" action="" method="post"> Baseball: <input type="checkbox" name="interest[]" value="baseball"> <br> Teams: <input type="text" name="teams[]" size="30" onFocus="form1.interest[0].checked=1"> <br> <input type="submit" value="submit"> </form> </body> </html> will cause an error, because you don't define arrays in javascript this way. I realize that this seems like a bug in javascript, but actually it isn't. The html 4.01 specification clearly 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 (".")." Note: this does not suggest that you can add "[" or "]". So, in essence you are violating the html specification. If you still do not agree that this would only improve php, I will stop bothering you. ------------------------------------------------------------------------ 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/?id=13718 Edit this bug report at http://bugs.php.net/?id=13718&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]