织梦CMS系统表单添加访客提交时间和访客IP限制

织梦技巧

织梦系统给自定义表单添加访客提交时间

不需要在模板htm里添加js或者其他代码,按下面步骤来即可。

1、后台 - 核心 - 频道模型 - 自定义表单 - 添加新字段

  • 提交时间
  • time
  • 单行文本(varchar)

2、打开 /plus/diy.php 找到

$fieldarr = explode(';', $dede_fields);

在它上面加入

$time = GetDateTimeMk(time());

3、前台表单中可以不用出现提交时间的输入框,但是 dede_fields 和 dede_fieldshash 必须是最新的

把这2行代码放到你前台的模板表单,例如:

<form ...>

之间

<input type="hidden" name="dede_fields" value="xingming,text;shenfenzheng,text;dianhua,text;banji,text;jianjie,multitext" />
<input type="hidden" name="dede_fieldshash" value="1acd40e7bd40f53a0f0247ecf945f9a8" />

</form>
 

织梦给自定义表单添加访客IP

不需要在模板htm里添加js或者其他代码,按下面步骤来即可。

    1、后台 - 核心 - 频道模型 - 自定义表单 - 添加新字段

  • 访客IP
  • ip
  • 单行文本(varchar)
  • 2、打开 /plus/diy.php 找到

    $fieldarr = explode(';', $dede_fields);

    在它上面加入

    $ip = GetIP();

    3、前台表单中可以不用出现访客IP的输入框,但是 dede_fields 和 dede_fieldshash 必须是最新的

     

     

    把这2行代码放到你前台的模板表单,例如:

    <form ...>

    之间

    <input type="hidden" name="dede_fields" value="xingming,text;shenfenzheng,text;dianhua,text;banji,text;jianjie,multitext" />
    <input type="hidden" name="dede_fieldshash" value="1acd40e7bd40f53a0f0247ecf945f9a8" />

    </form>
     

    限制每个IP每天只能提交自定义表单3次

    前提是要有上面添加的IP和提交时间哦,而且要注意你的字段名 time 和 ip,要与下面的教程一致。

    打开 /plus/diy.php 找到

    if($dsql->ExecuteNoneQuery($query))

    在它的上面加入

    $result = $dsql->getOne("SELECT count(*) AS dd FROM `{$diy->table}` WHERE ip='$ip' AND date_format(time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')");if($result['dd'] >= 3){	showmsg('明天再来!', '-1');	exit();}

    上面的 ip='$ip' AND date_format(time,'%Y-%m-%d')

    ip 和 time 这2个字段改成你自己的

 

限制10秒后才能继续提交

$result = $dsql->getOne("SELECT * FROM `{$diy->table}` WHERE ip='$ip' order by id desc limit 0,1");if(!empty($result['time']) && (GetMkTime($result['time']) + 10) > time()){    ShowMsg('请稍后10秒再试!','-1');    exit();}
标签: 网站学堂   织梦教程
吃喝网尾部