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

No, its not 'how it should work'. Image when you write the following code in php:

$interests = "something";
$interests = "new";

Would you expect this ending up with $interests being an array("something", "new"); ? 
Certainly not.

So, for you to have an array, like Jani said, append '[]' and you have what you want.

- Markus

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

[2001-10-17 22:19:52] [EMAIL PROTECTED]

Here is an example of what I am talking about, try to imagine the interests being 
dynamically generated, because it is easy if you already know the names of all of the 
elements and the form itself:

form.html:
<html>
<body>
<form action="post.html" method="post">
Baseball: <input type="checkbox" name="interests" value="baseball"><br>
Teams: <input type="text" name="teams" size="40" 
onFocus="interests[0].checked='1'"><br><br>
Football:<input type="checkbox" name="interests" value="football"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

post.html:
<html>
<body>
<?php
/**
 * This is how it should work, interests should be an array
 **/
 echo("interest 1: $interests[0]<br>\n");
 echo("interest 2: $interests[1]<br>\n");

/**
 * Instead, the value of $interests is that of the last
 * value posted.
 **/
 echo("$interests");
?>
</body>
</html>

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

[2001-10-17 20:10:49] [EMAIL PROTECTED]

Just name them as 'name=varname[]' (add the []'s in the end)
and you'll get an array.

--Jani


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

[2001-10-17 16:47:11] [EMAIL PROTECTED]

The problem exists in the way that php handles the reception of a posted form.  If 
there is more than one element in a form with the same name and it is posted to a php 
page, php handles this by assuming the last element with that name is the correct 
value for that variable.  

In order to provide a proper coexistance with javascript it should treat all variables 
with that name as elements of an array.

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



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