久久精品国产久精国产思思-久久精品国产99久久无毒不卡-国产av综合影院-真人性囗交视频

【phpcms】phpcms v9表單向?qū)е性趺醇尤腧?yàn)證碼
發(fā)表日期:2016-02-29 瀏覽次數(shù):0
phpcms v9表單向?qū)е性趺醇尤腧?yàn)證碼
 
問(wèn)題描述:
如題今天在百度知道中發(fā)現(xiàn)一網(wǎng)友提的問(wèn)題,感覺(jué)挺好代表性的所以在知道回答完后將答案同步到這里共各位網(wǎng)友參考。
 
解決方法:
在phpcms表單向?qū)K中創(chuàng)建字段時(shí)沒(méi)有驗(yàn)證碼類型去選擇,所以也就無(wú)法直接使用來(lái)加入驗(yàn)證碼了。
對(duì)模板程序稍微進(jìn)行擴(kuò)展開發(fā)即可實(shí)現(xiàn)。具體流程如下:
 
一、找到表單向?qū)赡0澹ㄒ话隳J(rèn)為phpcms/templates/default/formguide/show_js.html),在大約25行form表單中插入調(diào)用驗(yàn)證碼的代碼,如下:
 
   
   
    {php pc_base::load_sys_class('form', '', 0); }
   
    {form::checkcode('code_img', '4', '14', 100, 30)}
   
 
 
二、然后找到表單提交地址對(duì)應(yīng)的方法(phpcms/modules/formguide/index.php里的show()方法),在其中加入驗(yàn)證驗(yàn)證碼是否正確的程序即可。代碼示例如下:
找到大約第51行,有一句:
if (isset($_POST['dosubmit'])) {  //如果提交表單
一定要在此句之后的if判斷大括號(hào)中寫:
//啟動(dòng)session
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
//驗(yàn)證碼
if (($_SESSION['code'] != strtolower($_POST['code'])) || empty($_SESSION['code'])) {
    showmessage("驗(yàn)證碼錯(cuò)誤");
} else {
    $_SESSION['code'] = '';
}
OK,如此便可以實(shí)現(xiàn)前端調(diào)用驗(yàn)證碼后臺(tái)進(jìn)行驗(yàn)證了。
 
PS: 其實(shí)“在前端模板對(duì)應(yīng)位置調(diào)用form類的checkcode方法生成驗(yàn)證碼在后臺(tái)對(duì)應(yīng)控制器進(jìn)行驗(yàn)證”的思路適用于phpcms的所有功能模塊不只是表單向?qū)K。
 
12

推薦閱讀

公司團(tuán)建

發(fā)表日期:2020-12-11

南通金才泰豐恭喜啟東市精銳針布...

發(fā)表日期:2019-04-16

南通金才泰豐恭喜江蘇金木堂金絲...

發(fā)表日期:2018-04-11

網(wǎng)站優(yōu)化包括哪些內(nèi)容

發(fā)表日期:2016-02-29

電話咨詢

0513-83639011

微信咨詢

top

首頁(yè)

咨詢價(jià)格

電話咨詢