张文保的博客
张文保 · Paul Zhang

Engineering the Future
功不唐捐,玉汝于成

织梦DedeCMS

织梦dedecms防止自定义表单重复提交

解决织梦自定义表单重复提交的问题,一个可以使用验证码功能,主要用来提供人机验证,防止机器提交大量的无用订单,但无法防止真人提交重复订单。另一个思路是使用session保存IP的方法,防止在同一主机重复提交订单。今天我们重点说一个第二种方法,实现起来也比较简单,只要加几句PHP程序就可以实现。

使用方法:
1、打开如下文件:
打开织梦根目录下的/plus/diy.php这个脚本文件。
2、修改如下:
大约在58行找到如下行,修改成如下代码即可。
修改前如下

if(!empty($dede_fields))
{ 
$fieldarr = explode(';', $dede_fields);

修改后如下

if(!empty($dede_fields))
{ 
session_start();
$cur_ip=GetIP();
if($cur_ip==$_SESSION['form_ip'])
{
showmsg('您已经提交过了,无需重复提交!','/',0,10000);exit;
}
else
{
$_SESSION['form_ip']=$cur_ip;
}//防止表单重复提交
$fieldarr = explode(';', $dede_fields);

修改完成后,重复提交就会弹出提示窗口禁止再次提交。

相关文章
本文标题:《织梦dedecms防止自定义表单重复提交》
网址:https://zhangwenbao.com/dedecms-prevents-duplicate-submission-of-custom-forms.html
作者:张文保
发布时间:2018-11-23
许可协议:CC BY-NC-SA 4.0
发表新评论
SSL安全认证