我写了一个mail.php文件,内容如下.可是为什么刷新页面的时候就自动提交了submit按钮
<?php
if (isset($_POST['submi11t'])==TRUE)
{
echo "ok";
}
else
{
echo "asdfasdf";
}
?>
<form action="mail.php" method="post" enctype="text/plain">
<p>
Name:<br />
<input type="text" name="txtname" value="" size="40" maxlength="40"/>
</p>
<p>
Email Address:<br />
<input type="text" name="txtmail" value="" size="40" maxlength="40"/>
</p>
<input type="submit" name="submi11t" value="提交"/>
</form>
刷新的时候当然会重新POST,只要用户按F5之前提交过一次,那么他在输入部分数据以后,如果按F5,那么会重新执行一次上次的提交,而不理睬当前输入的部分数据。
一般说来,在数据提交的页面不能使用返回和刷新等功能,应该在页面上进行醒目标记,教育用户。
要想你的网页与众不同--刷新不会重新提交,那么你可以在页面上弄一个隐藏的IFRAME,FORM提交的目标指向这个IFRAME,而由IFRAME调用JS代码在主页面描述提交结果,这样的页面刷新的时候就等于新进入。
大致的结果如下:
<div id=result_div></div>
<form method=post target=post_frm>.....</form>
<iframe name=post_frm style='display:none'></iframe>
<?php
if (isset($_POST['submi11t'])==TRUE)
{
$result='';
if (提交数据检查不通过) $result.='提交数据不合格!';
else if (数据保存成功) $result.='数据保存成功。';
else $result.='数据保存失败!';
echo "<script language=javascript>parent.result_div.innerHTML='$result';</script>";
}
?>
一般说来,在数据提交的页面不能使用返回和刷新等功能,应该在页面上进行醒目标记,教育用户。
要想你的网页与众不同--刷新不会重新提交,那么你可以在页面上弄一个隐藏的IFRAME,FORM提交的目标指向这个IFRAME,而由IFRAME调用JS代码在主页面描述提交结果,这样的页面刷新的时候就等于新进入。
大致的结果如下:
<div id=result_div></div>
<form method=post target=post_frm>.....</form>
<iframe name=post_frm style='display:none'></iframe>
<?php
if (isset($_POST['submi11t'])==TRUE)
{
$result='';
if (提交数据检查不通过) $result.='提交数据不合格!';
else if (数据保存成功) $result.='数据保存成功。';
else $result.='数据保存失败!';
echo "<script language=javascript>parent.result_div.innerHTML='$result';</script>";
}
?>
温馨提示:答案为网友推荐,仅供参考