以前讲述的都是利用js来防止用户重复提交数据,但是如果用户利用机器你的js就没有一点办法防止用户重复提交数据了,下面我来介绍php防止重复提交数据程序.
利用session来操作,代码如下:
- <?php
- session_start();
- $_SESSION['num'] = 0;
- if(isset($_POST['action'] && $_POST['action']=='submit')){
- if($_SESSION['num'] == 0){
- echo '<a href="'.$_SERVER['PHP_SELF'].'">'请再次尝试</a>;'
- $_SESSION['num'] = 1;
- }else{
- echo '您已经提交过了,请不要重复提交';
- }
- }
- ?>
利用cookie来解决,提交页面代码如下a.php代码如下:
- <form id="form1" name="form1" method="post" action="t2.php">
- <p>说明
- <input type="text" name="titile" />
- </p>
- <p>
- <input type="submit" name="Submit" value="提交" />
- </p>
- </form>
php代码如下:
- <?php
- setcookie("onlypost", 't');
- //设置cookie,可以带上时间值。像有些论坛防止灌水就可以将你的一些基本信息存放到里面。
- ?>
处理页面b.php代码如下:
- <?php
- if($_COOKIE['onlypost'] == 't'){
- print_r($_COOKIE);
- //处理提交的内容 如果验证成功则处理
- print "ok";
- setcookie("onlypost", 'f'); //改变cooike值删除也可以了
- }
- ?>
新闻热点
疑难解答