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