为什么这个`$ _SESSION = $ _POST`失败了?

Ste*_*ven 0 php session post

我在这里错过了什么?这是我的PHP文件:

<?
session_start();

echo print_r($_SESSION);
echo "<br>";
echo print_r($_POST);

// Save input in session
$_SESSION = $_POST;
echo "test1";
?>

<br>
test2
Run Code Online (Sandbox Code Playgroud)

从表单提交访问此文件,我确定发布数据存在.输出是:

数组([登录] => 1)1
数组([名称] =>测试[类型] =>测试)1
test2

这对我来说毫无意义.的session内容和post内容输出时没有问题.

$_SESSION = $_POST;似乎失败了,脚本的其余部分直到?>没有给出任何响应,这很明显,因为test1文本没有打印.

我无法找出发生了什么$_SESSION = $_POST;.我在SO和其他地方找到的所有问题都提供了这种方式来在会话中存储帖子数据.

我知道session_start();在任何输出之前都需要它.在这种情况下是否还需要其他东西?

我错过了什么?


更新 - 测试文件

完整测试文件的确切代码(已删除链接)是:

<?
session_start();
?>

<html>
<head>

</head>
<body>

<?

echo print_r($_SESSION);
echo "<br>";
echo print_r($_POST);

// Save input in session
$_SESSION = $_POST;
echo "test1";
?>

<p>test2</p>

<form method="post" action="test.php">
    Type something to test: <input type="text" name="testfield" id="testfield">
    <input type="submit" value="Submit">
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

更新 - 解决了?

好的,它现在已经解决了.但这是STRANGE ......

问题显然是由评论引起的.在//从内运行停止脚本<?..?>括号.当我删除评论时// Save input in session,它的工作原理......?

现在我在这里错过了什么?它必须是一些PHP设置或其他东西.或者可能是某些已更改的文件或脚本数据.我想,既然@CodeCaster有它工作,我的电脑就会发生这样的事情......但评论在其他地方有用吗?谁看过这个吗?

小智 5

你试过用过$_SESSION['name'] = $_POST['name'];吗?

$_SESSION = $_POST;在我编写PHP的整个过程中,我从未使用过,也从未见过它.

希望这可以帮助.