需求是这样的:

当用户进入表单页面后,必须在5分钟之内完成表单信息的填写,并提交表单,超过了5分钟,表单提交将无效。

 

实现起来也很简单:

思路:我们可以再表单中添加一个hidden隐藏域,当用户进入表单页面时,将hidden隐藏域的值设置为当前时间,用户填写表单完毕并提交后,可以获取hidden隐藏域的值,将当前时间与这个hidden隐藏域的值就行对比,如果大于5分钟,服务器端对提交的其他数据不作任何处理,否则继续。

具体实例代码如下所示:

<?
<FORM ACTION=\"index.php\" METHOD=GET>
<INPUT TYPE=\"hidden\" NAME=\"time\" VALUE=\"<?php echo time(); ?>\">
Enter your message (5 minute time limit):<INPUT TYPE=\"text\" NAME=\"mytext\" VALUE=\"\">
<INPUT TYPE=\"submit\" Value=\"Send Data\">
</FORM>

if($_GET[\'time\']+300 >= time()) {
     echo \"You took too long!<BR>\";
     exit;
}
?>
收藏 打印