Re: SESSION array problems [SOLVED]
| From: | Andrew Ballard | Date: | Thu, 02 Oct 2008 15:13:17 +0000 |
| Subject: | Re: SESSION array problems [SOLVED] | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-281372@lists.php.net to get a copy of this message | ||
On Thu, Oct 2, 2008 at 11:02 AM, tedd <tedd.sperling@gmail.com> wrote:
> Hi gang:
>
> As strange as it may seem, but when session variables are passed to another
> page (i.e., used) you cannot extract ALL OF THEM using a loop when the
> variable names you are using are the same as the SESSION index's names.
>
> In other words, you cannot do this:
>
> for ($i = 0; $i < $num_users; $i++)
> {
> $last_name = $_SESSION['last_name'][$i];
> $first_name = $_SESSION['first_name'][$i];
> echo("<p>$last_name $first_name</p>");
> }
>
> But you can do this:
>
> for ($i = 0; $i < $num_users; $i++)
> {
> $last = $_SESSION['last_name'][$i];
> $first = $_SESSION['first_name'][$i];
> echo("<p>$last $first</p>");
> }
>
> See the difference?
>
> This was a crazy one.
>
> Now, someone show me where that is documented?
>
> Cheers,
>
> tedd
>
As several of us have suggested now, it's got to be register_globals.
That would make the following blocks of code equivalent:
<?php
for ($i = 0; $i < $num_users; $i++)
{
$last_name = $_SESSION['last_name'][$i];
$first_name = $_SESSION['first_name'][$i];
echo("<p>$last_name $first_name</p>");
}
for ($i = 0; $i < $num_users; $i++)
{
$_SESSION['last_name'] = $_SESSION['last_name'][$i];
$_SESSION['first_name'] = $_SESSION['first_name'][$i];
echo("<p>{$_SESSION['last_name']}
{$_SESSION['first_name']}</p>");
}
?>
Andrew