Dedehtml.com

织梦自定义表单添加访客提交时间和访客IP+限制每天每个IP提交表单次数

摘要:不需要去模板htm里添加js或者其他代码,织梦给自定义表单添加访客提交时间、访客提交时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始终是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();
}
版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/diyform-senddata-ip.html
(9)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏