ID: 13718
Updated by: hholzgra
Reported By: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Feature/Change Request
Operating System: All
PHP Version: 4.0.6
New Comment:

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)

Previous Comments:
------------------------------------------------------------------------

[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.

------------------------------------------------------------------------

[2001-10-18 10:46:31] [EMAIL PROTECTED]

the simple problem with auto-generating arrays is:

form fields without input do not generate output

so if you have a form like

<form>
  <input type="text" name="foo">
  <input type="text" name="foo">
  <input type="submit">
</form>

you will get an array $foo[] with two elements
in PHP if both input fields are used but a plain
string variable if only one (either the first or
the second) is used


for the javascript naming problem

  form.elements['foo[]'] should work find




------------------------------------------------------------------------

[2001-10-18 10:17:36] [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]

Reply via email to