2

为了开始用 PHP 进行编程,从 Classic ASP 开始,我决定将一个非常大的、旧的、在线的 ASP 项目逐个转换,直到我最终完成整个事情并学习 PHP。

我遇到过大量使用会话变量和 cookie 的部分。本节附加的页面尚未转换,我有一段时间无法转换它们。在我继续转换这部分并弄乱我所有的用户会话/访问之前,我想知道在我的 ASP 页面上设置的会话变量或 cookie 是否可以在转换后的 PHP 页面中读取,反之亦然?

我认为请求 cookie 可以,但我不确定使用会话是否有任何影响。请指教。

4

3 回答 3

2

Alex 对 cookie 的看法是正确的;但是,会话更加棘手。会话数据存储在服务器端,不同的语言可能以不同的方式存储它们。

但是,仍然可以这样做;您只需要让两个应用程序使用相同的会话数据存储。它可能就像配置 PHP 和 ASP 以在 SQL 数据库中存储会话一样简单。但是他们可能不使用相同的格式将会话数据存储在数据库中,因此您最终可能需要为其中一个或另一个编写自定义会话存储处理程序。

然后,您需要做的就是确保两个应用程序从相同的 cookie 名称读取会话 ID,因为这也因语言而异。

于 2012-07-25T01:41:40.200 回答
2

饼干,是的,它们将可用。

会话,我不知道 ASP 如何处理它的会话,但我不认为 PHP 可以直接处理它们。

您可以在 ASP 脚本中为 PHP 创建会话文件

研究PHP 如何处理会话,并在会话文件夹中创建会话文件。但是,编码/序列化所有这些值可能很棘手。PHP 会话不被 serialize() 函数序列化。他们有自己的处理程序,这可能取决于您的配置。

PS:会话仅持续到客户端关闭浏览器。我说当你完全克隆完脚本后不要担心它们并激活 PHP 页面。如果您想运行用两种语言编写的脚本并让它们在两种语言之间传递数据,请使用 cookie 而不是会话,因为 cookie 保存在客户端的机器上,并且可以从两个平台读取。

于 2012-07-25T01:58:25.193 回答
0

是的。

Cookies 是服务器/头文件(用户浏览器与您的服务器通信),因此 PHP 文件和 ASP 文件将能够更改/编辑所有域 cookie(当然,假设它们在同一个域上)。

于 2012-07-25T01:31:13.023 回答