织梦自定义表单添加访客提交时间和访客IP+限制每天每个IP提交表单次数
发布时间:2021-04-30 | 发布者: 东东工作室 | 浏览次数: 次织梦给自定义表单添加访客提交时间
不需要在模板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始终是127.0.0.1,要把网站放到网上才能获取真实的访客IP。
限制每个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();
}