PHP会话扩展不考虑全局变量


PHP session extension does not consider global variables

我目前得到的错误:

警告:未知:您的脚本可能依赖于一个会话的副作用直到PHP 4.2.3才存在。请建议进行会话扩展不考虑全局变量为数据的来源,除非Register_globals是启用的。你可以禁用这个功能和这个设置警告会话。bug_compat_42或会话。Bug_compat_warn为off,分别在第0行

我相信它与以下代码有关(因为我是从那时开始注意到它的):

session_start();                         // Open sessions
$remember_alert = $_SESSION['alert'];   // Remember session alert
session_unset();                         // Unset all data in session
session_destroy();                     // Kill empty session
session_start();                         // Re-open session
$_SESSION['alert'] = $remember_alert;   // Recall session alert

这是我正在构建的CMS的logoff.php页面上的代码,用于清除除alert变量之外的所有会话信息。任何见解将非常感激!

嗨,我有同样的问题,在我的这里是$arrFormData,这里是$_SESSION['arrFormData'具有相同的变量名。在我如果它发生在$_GET数组上,但我想应该是相似的。给它尝试重命名$arrFormData变量变成别的东西,让我们知道它是否有效。

来源。

这是因为您的$_SESSION全局键在某个地方有相同的变量名。

例子
session_start();
$_SESSION['a'] = 1;
$a = 1;

您可以通过关闭php.ini中的session.bug_compat_42或使用ini_set()来禁用错误。