[PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread tedd

At 11:10 PM +0100 10/1/08, Nathan Rixham wrote:

[tested - works]
-snip-
?
regards! nathan :)


I need to re-address this.. tedd your original code works fine over 
here; as does the code I sent you, and the code jay submitted first..


do us a favour, copy and paste exactly what I just handed through 
and run it; are the results correct?


To all:

The code provided by nathan works for me as well. However, the 
problem is not easily explained, but I can demonstrate it -- try this:


http://www.webbytedd.com/zzz/index.php

* A complete listing of the code follows the demo.

When the code is first loaded, the session variables are defined and 
populated. Proof of this is shown in the top left corner of the page, 
which reports:


Cable Diane
Ron Big
Dirt Joe

Now click the Continue button and you will be presented with the 
next step which shows a list of the SESSION variables in both the top 
left corner AND immediately below Step 2. Everything is righteous 
to there.


However, the next portion of the code is the foreach loop where the 
first SESSION pair is output correctly, but the rest aren't.


This is followed by another listing of the SESSION variables and this 
time is shows that they have completely disappeared.


Okay gang -- what's up with that?

Cut and paste the code and see for yourself.

Cheers,

tedd

--
---
http://sperling.com  http://ancientstones.com  http://earthstones.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Andrew Ballard
On Thu, Oct 2, 2008 at 10:37 AM, tedd [EMAIL PROTECTED] wrote:
 To all:

 The code provided by nathan works for me as well. However, the problem is
 not easily explained, but I can demonstrate it -- try this:

 http://www.webbytedd.com/zzz/index.php

 * A complete listing of the code follows the demo.

 When the code is first loaded, the session variables are defined and
 populated. Proof of this is shown in the top left corner of the page, which
 reports:

 Cable Diane
 Ron Big
 Dirt Joe

 Now click the Continue button and you will be presented with the next step
 which shows a list of the SESSION variables in both the top left corner AND
 immediately below Step 2. Everything is righteous to there.

 However, the next portion of the code is the foreach loop where the first
 SESSION pair is output correctly, but the rest aren't.

 This is followed by another listing of the SESSION variables and this time
 is shows that they have completely disappeared.

 Okay gang -- what's up with that?

 Cut and paste the code and see for yourself.

 Cheers,

 tedd

tedd,

Is there any chance that session variables are getting auto
registered? The fact that the second time through the loop is
outputting the second letter of each name looks like $first_name is
bound to $_SESSION['first_name'] and $last_name is bound to
$_SESSION['last_name'].

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Jay Moore

tedd wrote:

At 11:10 PM +0100 10/1/08, Nathan Rixham wrote:

[tested - works]
-snip-
?
regards! nathan :)


I need to re-address this.. tedd your original code works fine over 
here; as does the code I sent you, and the code jay submitted first..


do us a favour, copy and paste exactly what I just handed through and 
run it; are the results correct?


To all:

The code provided by nathan works for me as well. However, the problem 
is not easily explained, but I can demonstrate it -- try this:


http://www.webbytedd.com/zzz/index.php

* A complete listing of the code follows the demo.

When the code is first loaded, the session variables are defined and 
populated. Proof of this is shown in the top left corner of the page, 
which reports:


Cable Diane
Ron Big
Dirt Joe

Now click the Continue button and you will be presented with the next 
step which shows a list of the SESSION variables in both the top left 
corner AND immediately below Step 2. Everything is righteous to there.


However, the next portion of the code is the foreach loop where the 
first SESSION pair is output correctly, but the rest aren't.


This is followed by another listing of the SESSION variables and this 
time is shows that they have completely disappeared.


Okay gang -- what's up with that?

Cut and paste the code and see for yourself.

Cheers,

tedd



Much as it pains me to ask this, you don't have REGISTER_GLOBALS on, do you?

Jay

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Jay Moore

Jay Moore wrote:

tedd wrote:

At 11:10 PM +0100 10/1/08, Nathan Rixham wrote:

[tested - works]
-snip-
?
regards! nathan :)


I need to re-address this.. tedd your original code works fine over 
here; as does the code I sent you, and the code jay submitted first..


do us a favour, copy and paste exactly what I just handed through and 
run it; are the results correct?


To all:

The code provided by nathan works for me as well. However, the problem 
is not easily explained, but I can demonstrate it -- try this:


http://www.webbytedd.com/zzz/index.php

* A complete listing of the code follows the demo.

When the code is first loaded, the session variables are defined and 
populated. Proof of this is shown in the top left corner of the page, 
which reports:


Cable Diane
Ron Big
Dirt Joe

Now click the Continue button and you will be presented with the 
next step which shows a list of the SESSION variables in both the top 
left corner AND immediately below Step 2. Everything is righteous to 
there.


However, the next portion of the code is the foreach loop where the 
first SESSION pair is output correctly, but the rest aren't.


This is followed by another listing of the SESSION variables and this 
time is shows that they have completely disappeared.


Okay gang -- what's up with that?

Cut and paste the code and see for yourself.

Cheers,

tedd



Much as it pains me to ask this, you don't have REGISTER_GLOBALS on, do 
you?


Jay


Try these options (separately):

1) Change your first and third entries (so Joe Dirt is 0 and Cable Diane 
is 2).  See if your 2nd output is now '1 o i'.


2) Change your storage variables ($first_name and $last_name) to 
something other than the key values of your session array (ex:  $fname 
and $lname).  See if that works.


Jay

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Thiago H. Pojda



 Much as it pains me to ask this, you don't have REGISTER_GLOBALS on, do you?

 Jay

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


 It must be. I just ran tedd's example in both scenarios.

 With register_globals = Off it works like a charm.
 With register_globals = On I get the same output tedd does.

 register_globals = on:

 Problem

 Step 2 --

 Cable Diane
 Ron Big
 Dirt Joe

 0 Cable Diane

 1 a i

 2

 register_globals = Off:

 Step 2 --

 Cable Diane
 Ron Big
 Dirt Joe

 0 Cable Diane

 1 Ron Big

 2 Dirt Joe

 Cable Diane
 Ron Big
 Dirt Joe


 --
 Thiago Henrique Pojda


 Forgot my blog url, php list doesn't like it :)

 --
 Thiago Henrique Pojda


Okay, gmail must be playing with me... 3rd email rejected by spammy url

--
Thiago Henrique Pojda

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Afan Pasalic


Andrew Ballard wrote:
 On Thu, Oct 2, 2008 at 10:37 AM, tedd [EMAIL PROTECTED] wrote:
   
 To all:

 The code provided by nathan works for me as well. However, the problem is
 not easily explained, but I can demonstrate it -- try this:

 http://www.webbytedd.com/zzz/index.php

 * A complete listing of the code follows the demo.

 When the code is first loaded, the session variables are defined and
 populated. Proof of this is shown in the top left corner of the page, which
 reports:

 Cable Diane
 Ron Big
 Dirt Joe

 Now click the Continue button and you will be presented with the next step
 which shows a list of the SESSION variables in both the top left corner AND
 immediately below Step 2. Everything is righteous to there.

 However, the next portion of the code is the foreach loop where the first
 SESSION pair is output correctly, but the rest aren't.

 This is followed by another listing of the SESSION variables and this time
 is shows that they have completely disappeared.

 Okay gang -- what's up with that?

 Cut and paste the code and see for yourself.

 Cheers,

 tedd
 
tedd,

could you please in foreach loop (on your website) add one echo line:
  
  foreach( $_SESSION['user_id'] as $index = $value )
  {
echo '- '.$index.': '.$value.'br';
$last_name = $_SESSION['last_name'][$index];
$first_name = $_SESSION['first_name'][$index];
echo(p$index $last_name $first_name/p);
  }


thanks

-afan



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Jim Lucas
tedd wrote:
 At 11:10 PM +0100 10/1/08, Nathan Rixham wrote:
 [tested - works]
 -snip-
 ?
 regards! nathan :)

 I need to re-address this.. tedd your original code works fine over
 here; as does the code I sent you, and the code jay submitted first..

 do us a favour, copy and paste exactly what I just handed through and
 run it; are the results correct?
 
 To all:
 
 The code provided by nathan works for me as well. However, the problem
 is not easily explained, but I can demonstrate it -- try this:
 
 http://www.webbytedd.com/zzz/index.php
 
 * A complete listing of the code follows the demo.
 
 When the code is first loaded, the session variables are defined and
 populated. Proof of this is shown in the top left corner of the page,
 which reports:
 
 Cable Diane
 Ron Big
 Dirt Joe
 
 Now click the Continue button and you will be presented with the next
 step which shows a list of the SESSION variables in both the top left
 corner AND immediately below Step 2. Everything is righteous to there.
 
 However, the next portion of the code is the foreach loop where the
 first SESSION pair is output correctly, but the rest aren't.
 
 This is followed by another listing of the SESSION variables and this
 time is shows that they have completely disappeared.
 
 Okay gang -- what's up with that?
 
 Cut and paste the code and see for yourself.
 
 Cheers,
 
 tedd
 

Well, I would have to say it is a configuration issue on your server.

Here is the results for my test with your code.  Works fine.

http://www.cmsws.com/examples/php/testscripts/[EMAIL PROTECTED]/002.php

-- 
Jim Lucas

   Some men are born to greatness, some achieve greatness,
   and some have greatness thrust upon them.

Twelfth Night, Act II, Scene V
by William Shakespeare


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Jim Lucas
Jim Lucas wrote:
 tedd wrote:
 At 11:10 PM +0100 10/1/08, Nathan Rixham wrote:
 [tested - works]
 -snip-
 ?
 regards! nathan :)
 I need to re-address this.. tedd your original code works fine over
 here; as does the code I sent you, and the code jay submitted first..

 do us a favour, copy and paste exactly what I just handed through and
 run it; are the results correct?
 To all:

 The code provided by nathan works for me as well. However, the problem
 is not easily explained, but I can demonstrate it -- try this:

 http://www.webbytedd.com/zzz/index.php

 * A complete listing of the code follows the demo.

 When the code is first loaded, the session variables are defined and
 populated. Proof of this is shown in the top left corner of the page,
 which reports:

 Cable Diane
 Ron Big
 Dirt Joe

 Now click the Continue button and you will be presented with the next
 step which shows a list of the SESSION variables in both the top left
 corner AND immediately below Step 2. Everything is righteous to there.

 However, the next portion of the code is the foreach loop where the
 first SESSION pair is output correctly, but the rest aren't.

 This is followed by another listing of the SESSION variables and this
 time is shows that they have completely disappeared.

 Okay gang -- what's up with that?

 Cut and paste the code and see for yourself.

 Cheers,

 tedd

 
 Well, I would have to say it is a configuration issue on your server.
 
 Here is the results for my test with your code.  Works fine.
 
 http://www.cmsws.com/examples/php/testscripts/[EMAIL PROTECTED]/002.php
 

With RG off, it works as expected.  But, with RG on it gives the results he
was seeing.

-- 
Jim Lucas

   Some men are born to greatness, some achieve greatness,
   and some have greatness thrust upon them.

Twelfth Night, Act II, Scene V
by William Shakespeare


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: SESSION array problems UPDATE

2008-10-02 Thread Nathan Rixham

Jim Lucas wrote:

Jim Lucas wrote:

tedd wrote:

At 11:10 PM +0100 10/1/08, Nathan Rixham wrote:

[tested - works]
-snip-
?
regards! nathan :)

I need to re-address this.. tedd your original code works fine over
here; as does the code I sent you, and the code jay submitted first..

do us a favour, copy and paste exactly what I just handed through and
run it; are the results correct?

To all:

The code provided by nathan works for me as well. However, the problem
is not easily explained, but I can demonstrate it -- try this:

http://www.webbytedd.com/zzz/index.php

* A complete listing of the code follows the demo.

When the code is first loaded, the session variables are defined and
populated. Proof of this is shown in the top left corner of the page,
which reports:

Cable Diane
Ron Big
Dirt Joe

Now click the Continue button and you will be presented with the next
step which shows a list of the SESSION variables in both the top left
corner AND immediately below Step 2. Everything is righteous to there.

However, the next portion of the code is the foreach loop where the
first SESSION pair is output correctly, but the rest aren't.

This is followed by another listing of the SESSION variables and this
time is shows that they have completely disappeared.

Okay gang -- what's up with that?

Cut and paste the code and see for yourself.

Cheers,

tedd


Well, I would have to say it is a configuration issue on your server.

Here is the results for my test with your code.  Works fine.

http://www.cmsws.com/examples/php/testscripts/[EMAIL PROTECTED]/002.php



With RG off, it works as expected.  But, with RG on it gives the results he
was seeing.



that explains my earlier post on the matter:

in this case.. what's happened is:
$_SESSION['first_name'] is a reference to a variable $first (or whatever 
is in your for loop)
$_SESSION['last_name'] is a reference to a variable $last (or whatever 
is in your for loop)


when you've set $last and $first to string's in the for loop it's passed 
the variable by reference back to $_SESSION['first_name'] and 
$_SESSION['last_name'] as strings;


when it hit's the second iteration on the for loop it now has strings to 
deal with so uses the $key (holding integer 1 at this stage) as a string 
offset thus giving you the second character (offset [1]) of the string 
variables $last/$first. now set to 'cable'/'diane' thus giving you the 
'a'/'i'. when it does pass three there is no offset [2] so gives you 
nothing.


*phew*

reproduce code!

?php

$userids = array('6156','1234','8867');
$first = array('Diane','Big','Joe');
$last = array('Cable','Ron','Dirt');

function save_to_session( ) {
 global $userids , $first , $last;
 $_SESSION['user_id'] = $userids;
 $_SESSION['first_name'] = $first;
 $_SESSION['last_name']= $last;
}

save_to_session( );

print_r( $_SESSION );

$num_users = count($_SESSION['user_id']);

for ($i = 0; $i  $num_users; $i++) {
$first = $_SESSION['first_name'][$i];
$last = $_SESSION['last_name'][$i];
echo $last, $first\n;
}
?

lol to think ti was just register globals - thats why i don't use globals!

ps: tedd; you could have got to the bottom of this earlier by having 
error reporting set to include notices :)


--
nathan ( [EMAIL PROTECTED] )
{
  Senior Web Developer
  php + java + flex + xmpp + xml + ecmascript
  web development edinburgh | http://kraya.co.uk/
}

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php