給DEDE自定義表單添加驗證碼功能
-
你會發現,直接複製form表單裏面的代碼,會沒有驗證碼....不管怎麼說,驗證碼這玩意還是必須得添加的。
打開根目錄下 /plus/diy.php 文件,然後在第61行,呃,如果沒有顯示行,那就查找
$fieldarr = explode(';', $dede_fields);
在這一句的前面添加下面的代碼
if(!emptyempty($dede_fields))
{
$validate = emptyempty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue();
ShowMsg('驗證碼不正確!',$dede_add,0,1000);
exit;
}
}
-
保存之後,還要在模板你添加表單的頁面添加下面的代碼,這個代碼是顯示驗證碼跟輸入驗證碼的,放在表單裏面
<input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/>
<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?點擊更換" src="../include/vdimgck.php"/>
<a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>
-
添加完之後,還要在本頁面添加JQ代碼,以下代碼可以放在網頁底部
<script type="text/javascript" language="javascript">
//驗證碼
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>
然後,試試吧