PHP $_POST变量有时是空的

前端之家收集整理的这篇文章主要介绍了PHP $_POST变量有时是空的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个 PHP新手,我提交POST变量有时候会出现问题.让我难以理解的部分是每次都不会发生这种情况,我通常只需刷新页面就可以在PHP程序中获取发布数据.有时它需要几次,但一旦数据通过一次,它将继续通过罚款.

其他程序(wordpress和其他)工作正常,从不给出任何错误,所以我很确定我的程序有问题.

我在CentOS 5.2服务器上安装了PHP 4.2.9,并将KeepAliveTimeout设置为1.

我处理提交数据的应用程序代码

  1. <?PHP
  2. session_start();
  3. if (isset($_SESSION['username'])) {
  4. $expire = time() + (60*60*24*30);
  5. setcookie("username",$_SESSION['username'],$expire);
  6. }
  7.  
  8. header("Cache-control: no-cache");
  9.  
  10. if (!isset($_SESSION['username'])) {
  11. header('Location: ./login.PHP');
  12. die();
  13. }
  14.  
  15. if(empty($_SERVER['CONTENT_TYPE'])){
  16. $type = "application/x-www-form-urlencoded";
  17. $_SERVER['CONTENT_TYPE'] = $type;
  18. }
  19.  
  20. var_dump($_POST);
  21. echo "\n";
  22. var_dump($_SERVER);
  23. ?>

任何帮助都将不胜感激

编辑:我发现工作发布请求和失败的请求之间存在一个区别. Firebug告诉我,当帖子失败时,状态是302重定向而不是200 ok.
我不确定是什么导致这种情况,但我在发送表单时有头缓存控件,就像它在上面的代码片段中所显示的那样.

有任何想法吗?

您忘记了INPUT标记上的name =参数.
  1. <input type="text" id="xyz" name="xyz" value="123"/>

猜你在找的PHP相关文章