您好,登錄后才能下訂單哦!
小編給大家分享一下phpcms調(diào)用驗證碼的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
phpcms怎么調(diào)用驗證碼?
問題描述:
不管是在phpcms的模板制作還是做某些功能模塊的二次開發(fā)時,我們經(jīng)常在一些表單中用到調(diào)用驗證碼,那么具體我們改如何調(diào)用呢?
解決方法:
在phpcms網(wǎng)站中使用驗證碼我們要考慮前端模板頁面中如何調(diào)用驗證碼和后臺程序中如何驗證兩個方面:
一、在模板中,調(diào)用驗證碼的代碼如下:
<label for="code">驗證碼</label> <input type="text" id="code" name="code" size="10"> {form::checkcode('code_img', '4', '14', 100, 30)}
注意,從標簽中可知是使用了form類中的checkcode方法,那么就要確保此模板所在的控制器文件中已經(jīng)調(diào)用了該類,調(diào)用方法如下:
pc_base::load_sys_class('form', '', 0);
此類文件位置/phpcms/libs/classes/form.class.php,你可以通過查看此文件中的checkcode方法參數(shù)注釋來了解各參數(shù)所代表的意義。
二、在后端控制器文件php程序中,演示代碼如下:
defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('form','', 0); class index { public function init(){ if(isset($_POST['dosubmit'])){ //提交數(shù)據(jù) //啟動session $session_storage = 'session_'.pc_base::load_config('system','session_storage'); pc_base::load_sys_class($session_storage); //驗證碼 if (($_SESSION['code'] != strtolower($_POST['code'])) || empty($_SESSION['code'])) { showmessage("驗證碼錯誤"); } else { $_SESSION['code'] = ''; }
這里我們注意三點:
第二行,不要忘記引入form類;
第7、8、9行,在讀取session數(shù)據(jù)前先引入session存儲配置與啟動對應(yīng)類(一般是mysql);
判斷session的if條件即將表單填入的code值與session中的code值進行對比;
看完了這篇文章,相信你對phpcms調(diào)用驗證碼的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。