HTML POST有时不向PHP脚本提交POST数据
好吧,这有点奇怪 所以我有很多人在网上工作,填写网上表格。然后,这些表单被发布回同一页面,该页面记录条目,然后给它们一个新条目 问题是大约1/100的条目似乎丢失了。根据我的日志,PHP脚本认为提交这些文件时没有页面刷新之类的POST数据。但该网站的许多用户都有这个问题 我不认为这是我的代码或HTML表单中的错误,因为每个页面/条目的代码和HTML基本相同 我绞尽脑汁想弄清楚问题出在哪里。我在PHP脚本上放了非常详细的日志,记录了所有内容。根据这些日志,丢失的条目丢失是因为没有POST数据,甚至没有设置$_REQUEST['submit']变量,但是用户都坚持他们按下了提交按钮,没有刷新页面 这正常吗?有办法解决吗 表单如下所示:HTML POST有时不向PHP脚本提交POST数据,php,html,forms,post,Php,Html,Forms,Post,好吧,这有点奇怪 所以我有很多人在网上工作,填写网上表格。然后,这些表单被发布回同一页面,该页面记录条目,然后给它们一个新条目 问题是大约1/100的条目似乎丢失了。根据我的日志,PHP脚本认为提交这些文件时没有页面刷新之类的POST数据。但该网站的许多用户都有这个问题 我不认为这是我的代码或HTML表单中的错误,因为每个页面/条目的代码和HTML基本相同 我绞尽脑汁想弄清楚问题出在哪里。我在PHP脚本上放了非常详细的日志,记录了所有内容。根据这些日志,丢失的条目丢失是因为没有POST数据,甚至
<form action="display.php" method="POST">
<textarea name="desc" cols="80" rows="20">'.$description.'</textarea>
<input type="hidden" name="savepk" value="1"/>
<INPUT type="hidden" NAME="pibn" VALUE="3434"/>
<INPUT TYPE="hidden" NAME="user" VALUE="12"/>
<INPUT TYPE="hidden" NAME="what" VALUE="2"/>
<input type="hidden" name="pk" value="1"/>
<input type="hidden" name="go" value="0/>
<input type="hidden" name="debug" value="0"/>
<INPUT TYPE="submit" NAME="submit" VALUE="Done (10)" ONCLICK="parent.Switch();" style="width:300;height:40px;font-weight:bold;background-color:#F2FF9E;"/>
</form>
包含javascript的父页面是:
<HTML><HEAD><META NAME="ROBOTS" CONTENT="NOINDEX">
<script type="text/javascript">
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";
}
}
</script>
</HEAD><BODY>
<iframe src="display.php" frameborder="0" width="100%" height="100%" style="position:absolute; left:0; top:0;" class="frame0" id="frame0"></iframe>
<iframe src="display.php" frameborder="0" width="100%" height="100%" style="position:absolute; left:0; top:-1000;" class="frame1" id="frame1"></iframe>
</BODY></HTML>
该javascript用于一次加载两个页面并替换它们。因此,在表单onclick事件上打开parent.Switch。这非常有效。有了这一点信息,猜测可能是在验证表单时出现JavaScript错误,导致location.href或location.reload事件,从而导致页面被GET请求重新加载?确定,页面上唯一一点javascript非常简单,每次都在做同样的事情。javascript有时会随机失效吗?可能访问者已经关闭了javascript。你的JavaScript在做什么?它们都有JavaScript。这是同一个人做的条目。javascript正在做一个预加载:它将一个iframe移出视图,另一个移到视图中?还要确认这些失败的请求确实是GET请求,而不是POST请求。我认为很可能是在没有框架的情况下打开表单,或者由于其他原因,无法访问父对象。这将导致Javascript错误,页面将重新加载,表单数据丢失。您可以直接打开display.php来复制它。HTML是否提供了一些代码