溫馨提示×

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

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

如何使用ThinkPHP驗(yàn)證碼

發(fā)布時(shí)間:2021-10-08 13:35:43 來(lái)源:億速云 閱讀:139 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“如何使用ThinkPHP驗(yàn)證碼”,在日常操作中,相信很多人在如何使用ThinkPHP驗(yàn)證碼問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何使用ThinkPHP驗(yàn)證碼”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

一、首先需要在控制器中加入驗(yàn)證碼方法admin/Lib/Action/LoginAction.class.php
知識(shí)點(diǎn):
1、ob_clean函數(shù)用途
2、import方法調(diào)用think默認(rèn)類庫(kù)
3、Image類buildImageVerify方法使用

代碼如下:

復(fù)制代碼 代碼如下:

Public function verify(){
 ob_clean();
 //ob_clean函數(shù) 清空先前輸出
 import('ORG.Util.Image');
 //import調(diào)用的是message/ThinkPHP框架目錄下的擴(kuò)展包Extend/Library/ORG/Util/中的Image.class.php類文件
 Image::buildImageVerify();
 //調(diào)用buildImageVerify方法生成驗(yàn)證碼,默認(rèn)參數(shù)為($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify'),有興趣的朋友可以研究下Image類
}

二、在模板文件中加入驗(yàn)證碼模塊admin/Tpl/Login/index.html
知識(shí)點(diǎn):
1、驗(yàn)證碼圖片調(diào)用
2、js相關(guān)運(yùn)行流程了解
3、__PUBLIC__常量

在密碼輸入框后加入如下代碼:

復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="__PUBLIC__/Js/jquery-1.7.2.min.js"></script>
//__PUBLIC__常量可以在頁(yè)面加載后,“查看頁(yè)面源文件”中找到定義的__PUBLIC__目錄,默認(rèn)為項(xiàng)目根目錄message下的Public目錄,下面會(huì)講解如何自定義__PUBLIC__系統(tǒng)常量
//jquery文件,只有加載了這個(gè)文件才可以調(diào)用jquery的方法
<script type="text/javascript" src="__PUBLIC__/Js/login.js"></script>
//這里的具體代碼會(huì)在下面貼出,其實(shí)只是定義了一個(gè)change_code函數(shù),也就是更換驗(yàn)證碼的異步操作(可以在不刷新頁(yè)面的情況下更換)

<title>Message Board BackGround</title>
</head>
<body>

 <form action="{:U('admin.php/Login/login')}" method="post" name="back_login" >
  <h3>簡(jiǎn)易后臺(tái)登錄系統(tǒng)</h3>
  用戶名:<input type='username' name='username' id='username' />
  <br />
  密碼:<input type='password' name='password' id='password' />
  <br />
  驗(yàn)證碼:<input type="code" name="code"/>
  //這里需要注意將type設(shè)置為code,name命名為code
  <img src="{:U('Admin/Login/verify','','')}" id="code"/>
  //img標(biāo)簽下的src就是調(diào)用Login控制器中的veryfy方法
  //后面的兩個(gè)參數(shù)留空是必須的,其中第2個(gè)沒(méi)實(shí)際意義,主要是為了第3個(gè)參數(shù)留空,這樣設(shè)置可以取消偽靜態(tài)后綴名,否則默認(rèn)的偽靜態(tài)后綴名為html,將會(huì)導(dǎo)致無(wú)法正常加載圖片
  <a href="javascript:void(change_code(this));">看不清</a>
  //這里調(diào)用了個(gè)
  <br />
  <input type="submit"  value="登錄"/>
 </form>

</body>
</html>

login.js文件在message/Public/目錄下
文件內(nèi)容如下:

復(fù)制代碼 代碼如下:

verifyURL = 'http://localhost/message/admin.php/Login/verify';
//定義驗(yàn)證碼路徑
function change_code(obj){
 $("#code").attr("src",verifyURL+'/'+Math.random());
 //動(dòng)態(tài)生成驗(yàn)證碼方法,有興趣的朋友可以深入研究下jq方法
 return false;
}

另:__PUBLIC__文件定義在message/admin/Conf/config.php
在配置中,加入如下內(nèi)容,即可改變__PUBLIC__路徑
配置如下:

復(fù)制代碼 代碼如下:

//常量相關(guān)配置
'TMPL_PARSE_STRING' => array(
 '__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Public',
 //路徑改變?yōu)閙essage/admin/Public,刷新頁(yè)面,驗(yàn)證碼依然可以刷新,則表明js生效,也可“查看頁(yè)面源文件”
),

到此,關(guān)于“如何使用ThinkPHP驗(yàn)證碼”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI