文章来源:http://www.imtr.cn/html/n38.html
打开plus下diy.php文件
找到
if(!is_array($diyform)) { showmsg('自定义表单不存在', '-1'); exit(); }
再其下添加
//isset()判断是否设置了命名为dedecmsok的缓存 if(isset($_COOKIE['dedecmsok'])) { //$_COOKIE取回dedecmsok的值,判断和用户IP是否一致 //$_SERVER['REMOTE_ADDR']参数用来获取用户的IP if($_COOKIE['dedecmsok'] == $_SERVER['REMOTE_ADDR']) { //若cookie存在,则提示并终止继续执行 ShowMsg('请不要重复提交。每小时只能提交一次信息哦。','-1'); exit(); } else { //若cookie不存在,则创建一个新的cookie //创建的cookie命名为dedecmsok,值为用户IP,过期时间3600秒 setcookie('dedecmsok',$_SERVER['REMOTE_ADDR'],time() + 3600,'/'); } } else { //如果没有找到命名为dedecmsok的缓存,则创建一个新的cookie //创建的cookie命名为dedecmsok,值为用户IP,过期时间3600秒 setcookie('dedecmsok',$_SERVER['REMOTE_ADDR'],time() + 3600,'/'); } //用$_COOKIE[]参数取回缓存,并输出缓存信息 echo $_COOKIE['dedecmsok'];//这一句在实际应用中可删除
3600是间隔时间,数字可自行修改。单位:秒
此方法能够防止用户重复提交,但是如果用户清除cookie的话还可以可以再次提交的。
原文地址:http://www.imtr.cn/html/n38.html