溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

phpcms調(diào)用驗證碼的方法

發(fā)布時間:2020-08-18 13:49:31 來源:億速云 閱讀:167 作者:小新 欄目:建站服務(wù)器

小編給大家分享一下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è)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(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)容。

AI