I have a problem where i am losing the PHP session between 2 pages.
The session_start() is included in a file called session-inc.php into every page requiring a session to be set. This works for all pages on the site except one particular page, member-profile.php. When this page is visited a new session with a different id (same session name) is set and used instead.
A few more details:
- Session name is set manually
- All pages are on the same server under the same domain name
- If i put an additional session_start() above the include(‘session-inc.php’) in the member-profile.php file, the session is carried over correctly
- I have tried setting the session_cookie_domain and session.session_name in the .htaccess, this worked for this domain but it stopped the session being passed over to out payment domain
- We are running apache 2.2.6 with php 5.2.5
Putting the session_start() above the include(‘session-inc.php’) in the member-profile.php file is the quick and dirty fix for this problem, but i am wondering if anybody know why this would be happening.
Cheers
Will
Advertisement
Answer
According to PHP documentation, session_start
must be called before any output is sent back to the browser– could this page have a rogue CR/LF, Unicode byte-order mark or similar that is causing output before you include('session-inc.php')
?