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