我正在测试一个非常简单的表单页面:
<form action="script/check.php" method = "post">
<input type = "text" name = "email">
<input type = "submit">
</form>
当我的
check.php
文件包含以下代码时,它能很好地工作:<?
var_dump($_POST);
?>
输出结果为
array(1) { ["email"]=> string(5) "hello" }
,与预期相符。当
check.php
包含session_start()
时,$_POST
变为空。<?
session_start();
var_dump($_POST);
?>
输出现在是
array(0) { }
。很难搜索这个问题,不幸的是,我在使用这些搜索词时找到的大多数结果都是关于空的
$_SESSION
变量,而这对我来说不是一个问题。问题是$_POST
为空。有一个小问题:当我从存储服务器的网络上的本地机器测试页面时,
$_POST
可以正确传递。但是对于其他地方,情况并非如此,网站无法正常工作。这非常奇怪,因为我已经使用了这种类型的脚本几个月了,没有任何问题,并且外部用户也能够连接而没有问题。我认为这可能是目录权限问题,但如果没有更多信息,我不能确定。
display_errors
已关闭。服务器在线,并且有许多使用相同代码的工作页面。 - Joeysession_start();
下面的行中添加了ini_set('register_globals', '1');
和ini_set('display_errors', '1');
,现在页面可以正常工作了。显然我需要这两个设置,没有它们就无法正常工作。如果有人能够解释一下原因,我会接受它作为答案...但现在谜团解开了?我猜...?谢谢大家。 - Joey