在使用 PHP 的 SESSION 中传递变量的可靠性如何

Posted

技术标签:

【中文标题】在使用 PHP 的 SESSION 中传递变量的可靠性如何【英文标题】:How reliable is passing variables in SESSION w/ PHP 【发布时间】:2012-02-17 19:41:41 【问题描述】:

将变量设置到会话中然后在另一个页面上检索它们的方法有多可靠?

我有一个脚本,用户可以在其中使用 jQuery UI 在页面上拖放元素。我使用 AJAX 记录事务,但是,有时我会得到缺少项目 ID 的结果,或者确切地说我得到 0。当用户第一次访问此脚本页面时,我将此 ID 设置为会话变量。该页面包含一个包含我的函数的 JS 文件,并从那里将事务数据发送到 AJAX 页面,在该页面中我将事务存储到我的数据库中。因为项目 ID 相同,所以我从我的会话中得到它。这不是一个一致的错误,只是偶尔发生一次,但它让我很困扰。

为什么会随机发生?我怎样才能让我的代码做到万无一失?


更新:好的,似乎是其他东西可能会干扰该特定会话 ID。

我在使用会话的每个页面上都有session_start();,我设置它们的方式与设置所有会话的方式相同:`$_SESSION['project'] = $projectID;

回到调试...

【问题讨论】:

您的问题含糊不清。您有一个非常具体的问题,但没有提供任何代码或尝试隔离问题。 $_SESSION 是可靠的,但可能不是您使用它的方式。 对其可靠性的评论。 ***.com/questions/676846/… 【参考方案1】:

是的,您可以依赖 php 会话。如果您得到奇怪的结果,您似乎必须调试您的代码,直到找到问题为止。

【讨论】:

此外,SO 上 90% 的常见会话问题是在所有需要访问会话的页面上都缺少 session_start()

以上是关于在使用 PHP 的 SESSION 中传递变量的可靠性如何的主要内容,如果未能解决你的问题,请参考以下文章

php中如何传递Session ID

将Array从JS传递给PHP并创建SESSION变量

PHP MVC 最佳实践 - 将 Session 变量从控制器传递给模型类或直接在模型中访问

php中如何传递Session ID

PHP初学者必须掌握的10个知识点

php站,访问量比较多的情况下,是否使用session不合适