title: HTML POST sometimes does not submit POST data to PHP script
body: <p>OK, this is a bit weird.</p>
  
  <p>So I have many people who doing work online completing online forms. These forms are then POSTed back to the same page, which records the entry and then gives them a new entry to do.</p>
  
  <p>The problem is that around 1/100 of the entries appears to go missing. According to my logs the PHP script thinks that these have been submitted with no POST data (like a page refresh). But many users of the site are having this problem.</p>
  
  <p>I don't see how this could be an error in my code or in the HTML form as the code &amp; HTML is basically the same for each page/entry.</p>
  
  <p>I'm at my wits end trying to figure out where the problem is. I put very detailed logs on the PHP script, recording everything. According to those logs the missing entries are missing because there is no POST data (not even a <code>$_REQUEST['submit']</code> variable set), but the users are all adamant that they pressed the submit button and did not refresh the page.</p>
  
  <p>Is this normal? Any way to fix it?</p>
  
  <p>Form looks like this:</p>
  
  <pre><code>&lt;form action="display.php" method="POST"&gt;
  &lt;textarea name="desc" cols="80" rows="20"&gt;'.$description.'&lt;/textarea&gt;
  &lt;input type="hidden" name="savepk" value="1"/&gt;
  &lt;INPUT type="hidden" NAME="pibn" VALUE="3434"/&gt;
  &lt;INPUT TYPE="hidden" NAME="user" VALUE="12"/&gt;
  &lt;INPUT TYPE="hidden" NAME="what" VALUE="2"/&gt;
  &lt;input type="hidden" name="pk" value="1"/&gt;
  &lt;input type="hidden" name="go" value="0/&gt;
  &lt;input type="hidden" name="debug" value="0"/&gt;
  &lt;INPUT TYPE="submit" NAME="submit" VALUE="Done (10)" ONCLICK="parent.Switch();" style="width:300;height:40px;font-weight:bold;background-color:#F2FF9E;"/&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>The parent page including javascript is:</p>
  
  <pre><code>&lt;HTML&gt;&lt;HEAD&gt;&lt;META NAME="ROBOTS" CONTENT="NOINDEX"&gt;
  &lt;script type="text/javascript"&gt;
  var on=0;
  function Switch()
      {
      if (on==0)
          {
          on=1;
          document.getElementById("frame0").style.top="-1000";
          document.getElementById("frame1").style.top="0";
          }
      else
          {
          on=0;
          document.getElementById("frame1").style.top="-1000";
          document.getElementById("frame0").style.top="0";
          }
      }
  &lt;/script&gt;
  &lt;/HEAD&gt;&lt;BODY&gt;
  &lt;iframe src="display.php" frameborder="0" width="100%" height="100%" style="position:absolute; left:0; top:0;" class="frame0" id="frame0"&gt;&lt;/iframe&gt;
  &lt;iframe src="display.php" frameborder="0" width="100%" height="100%" style="position:absolute; left:0; top:-1000;" class="frame1" id="frame1"&gt;&lt;/iframe&gt;
  &lt;/BODY&gt;&lt;/HTML&gt;
  </code></pre>
  
  <p>That javascript is used to load 2 of the pages at a time and alternate them. Hence the <code>parent.Switch()</code> on the form onclick event. That works perfectly.</p>