POST TIME:2017-10-26 20:15
織夢(mèng)dedecms網(wǎng)站給自定義表單加dede模板自帶驗(yàn)證碼的方法。
有時(shí)候,我們因?yàn)樾枰odede網(wǎng)站的自定義表單添加驗(yàn)證碼,防止惡意填寫表單提交。
我們可以用以下的方法來實(shí)現(xiàn):
首先,我們要找到 /plus/diy.php 這個(gè)文件
在頭部引入文件:
require_once(DEDEINC.'/membermodel.cls.php');
然后找到
elseif($do == 2)
{ 在這個(gè)地方加入代碼塊
//驗(yàn)證碼驗(yàn)證
$svali = GetCkVdValue();
if(preg_match("/1/",$safe_gdopen)){
if(strtolower($vdcode)!=$svali || $svali=='')
{
ResetVdValue();
ShowMsg('驗(yàn)證碼錯(cuò)誤!', '-1');
exit();
}
}
修改好后保存一下文件。
第二步:在使用驗(yàn)證碼的自定義表單靜態(tài)頁面中插入代碼塊
<input type="text" class="intxt w200" style="width: 50px; text-transform: uppercase;" id="vdcode" name="vdcode" class="code"/>
<img id="vdimgck" align="absmiddle" onclick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?點(diǎn)擊更換" src="/include/vdimgck.php"/> 看不清?
在這個(gè)靜態(tài)頁面里還得引用JQuery
再加入 JS代碼塊
<script type="text/javascript">
$ = jQuery;
function changeAuthCode() {
var num = new Date().getTime();
var rand = Math.round(Math.random() * 10000);
num = num + rand;
$('#ver_code').css('visibility','visible');
if ($("#vdimgck")[0]) {
$("#vdimgck")[0].src = "../include/vdimgck.php?tag=" + num;
}
return false;
}
</script>
好了,現(xiàn)在試一試,是不是可以實(shí)現(xiàn)驗(yàn)證碼的提交了?一個(gè)簡單的dedecms自定義表單dede模板自帶驗(yàn)證碼的功能就實(shí)現(xiàn)了
一般會(huì)遇到一個(gè)第172行錯(cuò)誤,是因?yàn)樯倭艘粋€(gè)“}“只需要在172行加一個(gè)就OK了