I am working with wamp2.0 - PHP 5.3, apache 2.2.11 but my sessions are not storing data.
I have a page that accepts a parameter, which (simplified version) I wanna store in a session, so when I come to
http://www.example.com/home.php?sessid=db_session_id
The script looks like:
session_start();
$sessid = @$_GET['sessid'];
if ($sessid) {
$_SESSION['sessid'] = $sessid;
}
var_dump($_SESSION);
and outputs:
array(1) { [0]=> string(13) "db_session_id" }
which is fine, but then, when I go to link (without the sessid parameter) the $_SESSION
array is empty. I've event tried to comment the $_SESSION['sessid'] = $sessid;
line before going to the page without the parameter, but still it didin't work.
I've checked the session_id()
output and the session id remains the same.
Session settings from phpinfo()
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path c:/wamp/tmp c:/wamp/tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0
EDIT:
The sessions are deleted by an iframe. I don't know why, but when commented, the sessions work fine. Thing is, the iframe has to stay there (which of course is bad, but I can't do anything about it). Well...do you know about any workarounds to get the sessions working with an iframe?
It is an old question, but I came here with the same problem. As the question was not answered, here it comes what I've found.
I had a similar problem and in my case the problem was I was not calling session_start()
in all the pages where the session was used. I thought I should call it only in the "login" page, but this is not true.
Besides, remember that session_start()
must be called before the <html>
tag.
You must call the command session_start();
in each page. It worked for me. You must also call this before any output (html, output, even whitespace) is sent to the user.
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