Re: [PHP] session ok? [SOLVED]

2008-07-21 Thread Andrew Ballard
On Mon, Jul 21, 2008 at 11:37 AM, tedd <[EMAIL PROTECTED]> wrote:
> At 11:23 AM -0400 7/21/08, Daniel Brown wrote:
>>
>> On Mon, Jul 21, 2008 at 11:11 AM, tedd <[EMAIL PROTECTED]> wrote:
>>>
>>>  That's the way it works PROVIDED that you do not use the following in
>>> your
>>>  code:
>>>
>>>  header('Location: http://www.yourdomain.com/whatever/index.php');
>>
>>Was this line of code included in a script access at
>> http://www.yourdomain.com/whatever/?
>>
>>If it wasn't HTTP (vs HTTPS), in the /whatever directory, under
>> the www. CNAME, then the cookie would be invalid.  If it WAS still
>> adhering to all of the same, did you use session_write_close() to save
>> the session data to disk before redirecting?
>>
>>If all else fails, be sure to read through the user notes on the
>> manual pages.  For example, session_start() has a bunch of manual
>> entries with the term 'location' that discuss quite similar issues,
>> including resolutions.  Note that if they don't contain suggestions
>> and/or resolutions, we delete them, to make sure that the user notes
>> are as concise and helpful as possible.  Felepe (Pena) and I deleted
>> or modified over 700 of them in the last two days alone.
>>
>>Check out the user notes on session_start() here:
>>
>>http://www.php.net/manual/en/function.session-start.php
>
> A, I think I see now what the problem was.
>
> The original session was started using:
>
> http://webbytedd.com
>
> and my redirect was using:
>
> http://www.webbytedd.com
>
> Thus two domain and two sessions.
>
> Thanks for bringing that to my attention. It's always nice to finally
> understand something.
>
> Cheers,
>
> tedd
>


You can fix that, too, but setting session.cookie_domain to
'webbytedd.com' rather than letting it default to the current
HTTP_HOST value. That should allow the session cookie to be sent to
'ANYSUBDOMAIN.webbytedd.com' as well as just 'webbytedd.com'. Of
course, make sure you actually want this behavior. Some sites will
rely on different session pools for different subdomains.

Andrew

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



Re: [PHP] session ok? [SOLVED]

2008-07-21 Thread Andrew Ballard
On Mon, Jul 21, 2008 at 11:21 AM, Jason Pruim <[EMAIL PROTECTED]> wrote:
>
> On Jul 21, 2008, at 11:11 AM, tedd wrote:
>
>> Hi gang:
>>
>> I found the problem I was having with sessions and want to share it with
>> you -- it surprised me.
>>
>> To refresh -- I was having a problem with destroying a session. I went
>> through all the steps shown in the manual and dozens of recommended ways of
>> doing it I found on the net.
>>
>> However, I found that while I was actually destroying the session I
>> wanted, another session was being created in a very unexpected way.
>>
>> Now, the manual says:
>>
>> "session_start() creates a session or resumes the current one based on the
>> current session id that's being passed via a request, such as GET, POST, or
>> a cookie."
>>
>> From that one assumes that if you place a session_start at the beginning
>> of each page, then the first time it's encountered, a session will be
>> created and with every encounter thereafter the established session will be
>> used.
>>
>> That's the way it works PROVIDED that you do not use the following in your
>> code:
>>
>> header('Location: http://www.yourdomain.com/whatever/index.php');
>>
>> If you use that statement, then a new session will be created AND you will
>> find that you'll have two sessions working concurrently. That creates
>> several problems -- one of them being while you may destroy the first
>> session, the second will be still remain.
>>
>> Now, how many people knew this?
>>
>> Am I the only one who didn't?
>
> If what you said is true tedd... I didn't know that and it could explain
> some problems I've been having with a website... In a little bit I'll read
> through this thread and see if I can replicate the problem over on my
> server.
>
>
>
> --
>
> Jason Pruim
> Raoset Inc.
> Technology Manager
> MQC Specialist
> 11287 James St
> Holland, MI 49424
> www.raoset.com
> [EMAIL PROTECTED]

Setting a session and then issuing a redirect should not cause. Are
you exiting immediately after you set the location header? (Or at
least calling session_write_close()?)  It sounds like the client is
handling the redirect and calling the new resource before your server
has finished the process and written the session to disk.

I'm pretty sure in ASP that when you call Response.Redirect(...some
resource...) that that call automatically exits the script, but PHP
continues processing the current script (at least until the server
becomes aware that the client is no longer listening).

You could write your own redirect function that does all of this for you:



Andrew

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



Re: [PHP] session ok? [SOLVED]

2008-07-21 Thread tedd

At 11:23 AM -0400 7/21/08, Daniel Brown wrote:

On Mon, Jul 21, 2008 at 11:11 AM, tedd <[EMAIL PROTECTED]> wrote:


 That's the way it works PROVIDED that you do not use the following in your
 code:

 header('Location: http://www.yourdomain.com/whatever/index.php');


Was this line of code included in a script access at
http://www.yourdomain.com/whatever/?

If it wasn't HTTP (vs HTTPS), in the /whatever directory, under
the www. CNAME, then the cookie would be invalid.  If it WAS still
adhering to all of the same, did you use session_write_close() to save
the session data to disk before redirecting?

If all else fails, be sure to read through the user notes on the
manual pages.  For example, session_start() has a bunch of manual
entries with the term 'location' that discuss quite similar issues,
including resolutions.  Note that if they don't contain suggestions
and/or resolutions, we delete them, to make sure that the user notes
are as concise and helpful as possible.  Felepe (Pena) and I deleted
or modified over 700 of them in the last two days alone.

Check out the user notes on session_start() here:

http://www.php.net/manual/en/function.session-start.php


A, I think I see now what the problem was.

The original session was started using:

http://webbytedd.com

and my redirect was using:

http://www.webbytedd.com

Thus two domain and two sessions.

Thanks for bringing that to my attention. It's always nice to finally 
understand something.


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] session ok? [SOLVED]

2008-07-21 Thread Daniel Brown
On Mon, Jul 21, 2008 at 11:11 AM, tedd <[EMAIL PROTECTED]> wrote:
>
> That's the way it works PROVIDED that you do not use the following in your
> code:
>
> header('Location: http://www.yourdomain.com/whatever/index.php');

Was this line of code included in a script access at
http://www.yourdomain.com/whatever/?

If it wasn't HTTP (vs HTTPS), in the /whatever directory, under
the www. CNAME, then the cookie would be invalid.  If it WAS still
adhering to all of the same, did you use session_write_close() to save
the session data to disk before redirecting?

If all else fails, be sure to read through the user notes on the
manual pages.  For example, session_start() has a bunch of manual
entries with the term 'location' that discuss quite similar issues,
including resolutions.  Note that if they don't contain suggestions
and/or resolutions, we delete them, to make sure that the user notes
are as concise and helpful as possible.  Felepe (Pena) and I deleted
or modified over 700 of them in the last two days alone.

Check out the user notes on session_start() here:

http://www.php.net/manual/en/function.session-start.php

-- 

Better prices on dedicated servers:
Intel 2.4GHz/60GB/512MB/2TB $49.99/mo.
Intel 3.06GHz/80GB/1GB/2TB $59.99/mo.
Dedicated servers, VPS, and hosting from $2.50/mo.

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



Re: [PHP] session ok? [SOLVED]

2008-07-21 Thread Jason Pruim


On Jul 21, 2008, at 11:11 AM, tedd wrote:


Hi gang:

I found the problem I was having with sessions and want to share it  
with you -- it surprised me.


To refresh -- I was having a problem with destroying a session. I  
went through all the steps shown in the manual and dozens of  
recommended ways of doing it I found on the net.


However, I found that while I was actually destroying the session I  
wanted, another session was being created in a very unexpected way.


Now, the manual says:

"session_start() creates a session or resumes the current one based  
on the current session id that's being passed via a request, such as  
GET, POST, or a cookie."


From that one assumes that if you place a session_start at the  
beginning of each page, then the first time it's encountered, a  
session will be created and with every encounter thereafter the  
established session will be used.


That's the way it works PROVIDED that you do not use the following  
in your code:


header('Location: http://www.yourdomain.com/whatever/index.php');

If you use that statement, then a new session will be created AND  
you will find that you'll have two sessions working concurrently.  
That creates several problems -- one of them being while you may  
destroy the first session, the second will be still remain.


Now, how many people knew this?

Am I the only one who didn't?


If what you said is true tedd... I didn't know that and it could  
explain some problems I've been having with a website... In a little  
bit I'll read through this thread and see if I can replicate the  
problem over on my server.




--

Jason Pruim
Raoset Inc.
Technology Manager
MQC Specialist
11287 James St
Holland, MI 49424
www.raoset.com
[EMAIL PROTECTED]





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



Re: [PHP] session ok? [SOLVED]

2008-07-21 Thread Micah Gersten
When you use a header redirect, you start with a new page.  Everything
you did until then is gone.  When you call session_start on the new
page, it resumes the same session, not creates a new one.

Thank you,
Micah Gersten
onShore Networks
Internal Developer
http://www.onshore.com



tedd wrote:
> Hi gang:
>
> I found the problem I was having with sessions and want to share it
> with you -- it surprised me.
>
> To refresh -- I was having a problem with destroying a session. I went
> through all the steps shown in the manual and dozens of recommended
> ways of doing it I found on the net.
>
> However, I found that while I was actually destroying the session I
> wanted, another session was being created in a very unexpected way.
>
> Now, the manual says:
>
> "session_start() creates a session or resumes the current one based on
> the current session id that's being passed via a request, such as GET,
> POST, or a cookie."
>
> From that one assumes that if you place a session_start at the
> beginning of each page, then the first time it's encountered, a
> session will be created and with every encounter thereafter the
> established session will be used.
>
> That's the way it works PROVIDED that you do not use the following in
> your code:
>
> header('Location: http://www.yourdomain.com/whatever/index.php');
>
> If you use that statement, then a new session will be created AND you
> will find that you'll have two sessions working concurrently. That
> creates several problems -- one of them being while you may destroy
> the first session, the second will be still remain.
>
> Now, how many people knew this?
>
> Am I the only one who didn't?
>
> Cheers,
>
> tedd

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



Re: [PHP] session ok? [SOLVED]

2008-07-21 Thread tedd

Hi gang:

I found the problem I was having with sessions and want to share it 
with you -- it surprised me.


To refresh -- I was having a problem with destroying a session. I 
went through all the steps shown in the manual and dozens of 
recommended ways of doing it I found on the net.


However, I found that while I was actually destroying the session I 
wanted, another session was being created in a very unexpected way.


Now, the manual says:

"session_start() creates a session or resumes the current one based 
on the current session id that's being passed via a request, such as 
GET, POST, or a cookie."


From that one assumes that if you place a session_start at the 
beginning of each page, then the first time it's encountered, a 
session will be created and with every encounter thereafter the 
established session will be used.


That's the way it works PROVIDED that you do not use the following in 
your code:


header('Location: http://www.yourdomain.com/whatever/index.php');

If you use that statement, then a new session will be created AND you 
will find that you'll have two sessions working concurrently. That 
creates several problems -- one of them being while you may destroy 
the first session, the second will be still remain.


Now, how many people knew this?

Am I the only one who didn't?

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