我是一个PHP新手,我有一个POST变量的问题,当我提交它们时有时会变空。让我难以想象的部分是,这种情况不会每次都发生,我通常可以通过刷新页面来获取PHP程序中的发布数据。有时需要几次,但一旦数据一旦通过,它将继续保持良好状态。
其他PHP应用程序(WordPress的和其他)工作正常,从不给任何错误,所以我很确定有一个问题,我的PHP应用程序。
我安装一个CentOS 5.2服务器上的PHP 4.2.9,并有KeepAliveTimeout的设置为1
在我处理提交的数据的应用程序的代码:
<?php
session_start();
if (isset($_SESSION['username'])) {
$expire = time() + (60*60*24*30);
setcookie("username", $_SESSION['username'], $expire);
}
header("Cache-control: no-cache");
if (!isset($_SESSION['username'])) {
header('Location: ./login.php');
die();
}
if(empty($_SERVER['CONTENT_TYPE'])){
$type = "application/x-www-form-urlencoded";
$_SERVER['CONTENT_TYPE'] = $type;
}
var_dump($_POST);
echo "\n";
var_dump($_SERVER);
?>
任何帮助在所有将不胜感激
编辑:我发现工作职位请求和失败的一个区别。 Firebug告诉我,当帖子失败时,状态是302重定向而不是200 OK。 林不知道什么可以导致这种情况,但我有发送表单中的头缓存控件,就像它出现在上面的代码片段中一样。
任何想法?
表单看起来像是在发布吗? – 2009-12-04 12:39:42
这是否发生在所有浏览器? – DisgruntledGoat 2009-12-04 12:40:00
您还可以检查$ _REQUEST变量,该变量包含花盆并获取数据 – NDM 2009-12-04 12:44:45