Post 会话存储中的变量注销用户
Post variables in session storage logs user out
我的登录系统有问题,当人们登录并访问页面时,它工作得很好,但是一旦他们进入我的页面,我在第一行写了 $_SESSION = $_POST;
就会让用户登录自动出。
我在登录系统上设置了 cookie 过期时间,但由于某些原因,用户在访问该特定站点时会被注销。我删除了那个代码然后它工作正常。
有什么想法吗?
编辑:
我正在使用 php 登录高级系统,http://www.php-login.net/。这不是阅读代码所必需的,因为这是会话和帖子的问题。所以我只是想知道问题是什么。
使用
$_SESSION['post'] = $_POST;
以便您将 post 数据存储在 $_SESSION 的子部分中。现在你正在完全破坏你的整个会话并用 POST 数据替换那里的任何内容。
如果您想复制从 $_POST
到 $_SESSION
的每个单独的字段,您可以使用这样的东西:
foreach ($_POST as $key => $value)
{
$_SESSION[$key] = $value;
}
$_SESSION = array array_merge ( $_SESSION , $_POST );
如果你真的需要它http://php.net/manual/en/function.array-merge.php
但是Why does this `$_SESSION = $_POST` fail?
$_SESSION = $_POST;
无论如何都是一个坏主意,$_POST
不是保存!
我的登录系统有问题,当人们登录并访问页面时,它工作得很好,但是一旦他们进入我的页面,我在第一行写了 $_SESSION = $_POST;
就会让用户登录自动出。
我在登录系统上设置了 cookie 过期时间,但由于某些原因,用户在访问该特定站点时会被注销。我删除了那个代码然后它工作正常。
有什么想法吗?
编辑: 我正在使用 php 登录高级系统,http://www.php-login.net/。这不是阅读代码所必需的,因为这是会话和帖子的问题。所以我只是想知道问题是什么。
使用
$_SESSION['post'] = $_POST;
以便您将 post 数据存储在 $_SESSION 的子部分中。现在你正在完全破坏你的整个会话并用 POST 数据替换那里的任何内容。
如果您想复制从 $_POST
到 $_SESSION
的每个单独的字段,您可以使用这样的东西:
foreach ($_POST as $key => $value)
{
$_SESSION[$key] = $value;
}
$_SESSION = array array_merge ( $_SESSION , $_POST );
如果你真的需要它http://php.net/manual/en/function.array-merge.php
但是Why does this `$_SESSION = $_POST` fail?
$_SESSION = $_POST;
无论如何都是一个坏主意,$_POST
不是保存!