title: PHP $_POST variables are sometimes empty
body: <p>I am a PHP novice and I am having a problem with POST variable sometimes being empty when I submit them. The part which is making this difficult for me to figure out is that this doesn't happen every time, and I can usually get the post data in my PHP program by simply refreshing the page. Sometimes it will take a few times, but once the data has come through once, it will continue to come through fine.</p>
  
  <p>Other PHP applications (Wordpress and others) work fine and never give any errors, so I am pretty sure there is a problem with my php app.</p>
  
  <p>I have PHP 4.2.9 installed on a CentOS 5.2 server, and have KeepAliveTimeout set to 1.</p>
  
  <p>The code for the app in which I process the submitted data:</p>
  
  <pre><code>&lt;?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);
  ?&gt;
  </code></pre>
  
  <p>Any help at all would be appreciated</p>
  
  <p>Edit: I have found one difference between working post requests and the ones that fail. Firebug tells me that when the post fails, the status is a 302 redirect instead of 200 ok.
  Im not really sure what can cause that, but I have the header cache control in sending form just as it appears in the above code snippet.</p>
  
  <p>Any ideas?</p>