会话存储中的后置变量记录用户输出

时间:2015-01-29 20:18:03

标签: php session

我的登录系统出现问题,当人们登录并访问网页时,它可以完美地运行,但是一旦他们转到我在第一行写入$_SESSION = $_POST;的页面,用户就会自动注销。

我在登录系统上设置了Cookie过期时间,但出于某种原因,用户在访问该特定网站时会被注销。我删除了该代码然后它工作正常。

有什么想法吗?


编辑: 我正在使用php登录高级系统http://www.php-login.net/。这不是阅读代码所必需的,因为它是会话和帖子的问题。所以我只是想知道问题是什么。

3 个答案:

答案 0 :(得分:6)

使用

$_SESSION['post'] = $_POST;

以便将发布数据存储在$ _SESSION的子部分中。现在你正在完全破坏你的整个会话,用POST数据替换那里的任何内容。

答案 1 :(得分:0)

如果您要复制从$_POST$_SESSION的每个字段,您可以使用以下内容:

foreach ($_POST as $key => $value)
{
    $_SESSION[$key] = $value;
}

答案 2 :(得分:-3)

$_SESSION = array array_merge ( $_SESSION , $_POST );

如果你真的需要它http://php.net/manual/en/function.array-merge.php

但是Why does this `$_SESSION = $_POST` fail?

$_SESSION = $_POST;

无论如何都是个坏主意,$_POST不能保存!