the PHPSESSID variable that holds the session id is not being saved into the client cookie.
This results in a new session id being generated every time I call the session_start() function.
This is true when i'm using FireFox, Opera and Chrome. With safari, for some reason, this variable is being successfuly saved into the cookie and everything works fine.
EDIT: Here is my session settings via phpinfo():

My website has a subdomain, and I want to use the same session acorss all subdomains.
2nd EDIT:
when I check var_dump($_COOKIE); on my main domain I get the session id under the name PHPSESSID but when I do that on the subdomain I get an empty array().
It looks like the cookie's domain is being set to localhost. This will only work if you're actually running your website from localhost. You need the session.cookie_domain to match your domain name, optionally with a . in front of it (as in .example.com) to also include subdomains.
It is not used for Yoav's case, but maybe used for other people who got similar issue:
don't forget to call session_start()
It sounds like session_start() would create the PHPSESSID and save it in cookie if it's not sent from client cookie.
from php.net
When a visitor accesses your site, PHP will check automatically (if session.auto_start is set to 1) or on your request (explicitly through session_start()) whether a specific session id has been sent with the request. If this is the case, the prior saved environment is recreated.
some good examples about session_start() http://php.net/manual/en/function.session-start.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With