驗證碼{form::checkcode('code_img', '4 '}”並保存即可。"/> 驗證碼{form::checkcode('code_img', '4 '}”並保存即可。">
phpcms怎麼呼叫驗證碼?
問題描述:
不管是在phpcms的範本製作還是做某些功能模組的二次開發時,我們常常在一些表單中用到呼叫驗證碼,那麼具體我們改如何呼叫呢?
解決方法:
在phpcms網站中使用驗證碼我們要考慮前端範本頁面中如何呼叫驗證碼和後台程式中如何驗證兩個面向:
一、在範本中,呼叫驗證碼的程式碼如下:
<label for="code">验证码</label> <input type="text" id="code" name="code" size="10"> {form::checkcode('code_img', '4', '14', 100, 30)}
注意,從標籤中可知是使用了form類別中的checkcode方法,那麼就要確保此範本所在的控制器檔案中已經呼叫了該類,呼叫方法如下:
pc_base::load_sys_class('form', '', 0);
此類文件位置/phpcms/libs/classes/form.class.php,你可以透過查看此文件中的checkcode方法參數註解來了解各參數所代表的意義。
二、在後端控制器檔案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'])){ //提交数据 //启动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資料前先引入session儲存配置與啟動對應類別(一般是mysql);
判斷session的if條件即將表單填入的code值與session中的code值進行比較;
PHP中文網,大量的免費PHPCMS教程,歡迎線上學習!
以上是phpcms怎麼呼叫驗證碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!