Re: SESSION array problems [SOLVED]

From: 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

« previous php.general (#281372) next »