通过多种语言访问会话变量

也许我对会话的理解是关闭的,但是会话不是存储在浏览器中的吗?更像是,只要浏览器打开,会话就应该处于活动状态,对吗?(如果您不更改默认行为)。

我们的项目中有多种语言,我们正试图摆脱它们。目前,我们 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 并且效果很好。


婷婷同学_
浏览 146回答 1
1回答

FFIVE

会话对象特定于 Active Server Pages。如果您有一个同时运行 PHP 和 ASP 的混合站点,您将无法在 PHP 页面中使用 ASP 会话变量。Session中的对象和变量由ASP管理;浏览器唯一涉及的是在 cookie 中保留对该会话的引用。你可以做的是将会话变量的内容保存到一个 cookie 中,然后你的 PHP 页面可以读取它(显然有点扭曲:Read classic ASP's cookies with PHP)希望这可以帮助!
打开App,查看更多内容
随时随地看视频慕课网APP