php 实现表单在指定时间内提交有效

时间:2016-06-19
本文章向大家介绍php如何实现表单在某一定时间内提交才有效,如果超过这段时间,则视为无效提交。具体需求和实现方法可以查看文章详细部分,有需要的朋友可以参考一下。

需求是这样的:

当用户进入表单页面后,必须在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;
}
?>