VIP福利
主页 > 建站问题 > 织梦技巧 > 织梦CMS系统表单添加访客提交时间和访客IP限制

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

织梦系统给自定义表单添加访客提交时间 不需要在模板htm里添加js或者其他代码,按下面步骤来即可。 1、后台 - 核心 - 频道模型 - 自定义表单 - 添加新字段 提交时间 time 单行文本(varchar) 2、打开 /plus/diy.php 找到 $ fieldarr = explode( ; , $dede_fields ); 在它上面加入 $ time = GetDateTimeMk(time()); 3、前台表单中可以不用出现提交时间的输入框,但是 dede_fields 和 dede_f […]



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

不需要在模板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();
}


共有 条评论