也许我对会话的理解是关闭的,但是会话不是存储在浏览器中的吗?更像是,只要浏览器打开,会话就应该处于活动状态,对吗?(如果您不更改默认行为)。我们的项目中有多种语言,我们正试图摆脱它们。目前,我们 90% 的代码正在运行classic asp,并将被替换为PHP.如果我尝试在 asp 部分访问我的变量,它工作正常:<%= session("name") %>例如,这会输出“Jon”。如果我尝试通过 PHP 获取此输出,如下所示:<? var_dump($_SESSION); ?>我只是得到NULL。不用说,那<?= $_SESSION["name"] ?>也行不通。我永远不会离开网站,只是路径不同:mysite.com/default.asp 工作正常mysite.com/phptest/session.php仅在尝试访问会话时返回 NULL。这是为什么?两种语言都在 IIS 上运行。我是否必须以某种方式告诉 PHP 访问现有会话?我相当肯定,我之前在 PHP + JavaScript 中结合访问 Session-Vars 并且效果很好。
1 回答
FFIVE
TA贡献1797条经验 获得超6个赞
会话对象特定于 Active Server Pages。如果您有一个同时运行 PHP 和 ASP 的混合站点,您将无法在 PHP 页面中使用 ASP 会话变量。Session中的对象和变量由ASP管理;浏览器唯一涉及的是在 cookie 中保留对该会话的引用。
你可以做的是将会话变量的内容保存到一个 cookie 中,然后你的 PHP 页面可以读取它(显然有点扭曲:Read classic ASP's cookies with PHP)
希望这可以帮助!
- 1 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消