我正在使用 wamp2.0 - PHP 5.3、apache 2.2.11,但我的会话没有存储数据。
我有一个接受参数的页面,我想将其(简化版)存储在会话中,所以当我来到
http://www.example.com/home.php?sessid=db_session_id
该脚本如下所示:
session_start();
$sessid = @$_GET['sessid'];
if ($sessid) {
$_SESSION['sessid'] = $sessid;
}
var_dump($_SESSION);
和输出:
array(1) { [0]=> string(13) "db_session_id" }
这很好,但是,当我去 链接(没有 sessid 参数)时, $_SESSION
数组是空的。在进入没有参数的页面之前,我曾尝试评论 $_SESSION['sessid'] = $sessid;
行,但它仍然没有用。
我检查了 session_id()
输出,会话 ID 保持不变。
来自 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
编辑:
会话由 iframe 删除。我不知道为什么,但在发表评论时,会议工作正常。问题是,iframe 必须留在那里(这当然不好,但我对此无能为力)。好吧…您知道让会话与 iframe 一起工作的任何解决方法吗?
原文由 Elwhis 发布,翻译遵循 CC BY-SA 4.0 许可协议
只有相对于同一域的框架才能访问会话。例如:
应该在 iframe 的外部和内部工作。如果您仍然遇到问题,请尝试: