1. 程式人生 > >織夢自定義表單新增訪客提交時間和訪客IP+限制每天每個IP提交表單次數

織夢自定義表單新增訪客提交時間和訪客IP+限制每天每個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();
}