真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ThinkPHP框架之驗(yàn)證碼的使用案例-創(chuàng)新互聯(lián)

這篇文章主要介紹了ThinkPHP框架之驗(yàn)證碼的使用案例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),我們努力開拓更好的視野,通過不懈的努力,成都創(chuàng)新互聯(lián)贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。

Think\Verify類可以支持驗(yàn)證碼的生成和驗(yàn)證功能。

下面是最簡單的方式生成驗(yàn)證碼:

$Verify = new \Think\Verify();$Verify->entry();

上面的代碼會生成默認(rèn)的驗(yàn)證碼圖片并輸出,顯示如下:

ThinkPHP框架之驗(yàn)證碼的使用案例

生成的驗(yàn)證碼信息會保存到session中,包含的數(shù)據(jù)有:

array('verify_code'=>'當(dāng)前驗(yàn)證碼的值','verify_time'=>'驗(yàn)證碼生成的時(shí)間戳')

如果你需要在一個(gè)頁面中生成多個(gè)驗(yàn)證碼的話,entry方法需要傳入可標(biāo)識的信息。

驗(yàn)證碼參數(shù)

可以對生成的驗(yàn)證碼設(shè)置相關(guān)的參數(shù),以達(dá)到不同的顯示效果。這些參數(shù)包括:

參數(shù)描述
expire驗(yàn)證碼的有效期(秒)
useImgBg是否使用背景圖片 默認(rèn)為false
fontSize驗(yàn)證碼字體大?。ㄏ袼兀?默認(rèn)為25
useCurve是否使用混淆曲線 默認(rèn)為true
useNoise是否添加雜點(diǎn) 默認(rèn)為true
imageW驗(yàn)證碼寬度 設(shè)置為0為自動計(jì)算
imageH驗(yàn)證碼高度 設(shè)置為0為自動計(jì)算
length驗(yàn)證碼位數(shù)
fontttf指定驗(yàn)證碼字體 默認(rèn)為隨機(jī)獲取
useZh是否使用中文驗(yàn)證碼
bg驗(yàn)證碼背景顏色 rgb數(shù)組設(shè)置,例如 array(243, 251, 254)
seKey驗(yàn)證碼的加密密鑰
codeSet驗(yàn)證碼字符集合 3.2.1 新增
zhSet驗(yàn)證碼字符集合(中文) 3.2.1 新增

默認(rèn)參數(shù)配置:

ThinkPHP框架之驗(yàn)證碼的使用案例

參數(shù)設(shè)置使用兩種方式。

實(shí)例化傳入?yún)?shù):

ThinkPHP框架之驗(yàn)證碼的使用案例

或者采用動態(tài)設(shè)置的方式,如:

ThinkPHP框架之驗(yàn)證碼的使用案例

驗(yàn)證碼字體

默認(rèn)情況下,驗(yàn)證碼的字體是隨機(jī)使用ThinkPHP/Library/Think/Verify/ttfs/目錄下面的字體文件,我們可以指定驗(yàn)證碼的字體,例如:

$Verify = new \Think\Verify();// 驗(yàn)證碼字體使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf$Verify->fontttf = '5.ttf';$Verify->entry();

背景圖片

支持驗(yàn)證碼背景圖片功能,可以如下設(shè)置:

$Verify = new \Think\Verify();// 開啟驗(yàn)證碼背景圖片功能 隨機(jī)使用 ThinkPHP/Library/Think/Verify/bgs 目錄下面的圖片$Verify->useImgBg = true;$Verify->entry();

中文驗(yàn)證碼

如果要使用中文驗(yàn)證碼,可以設(shè)置:

$Verify = new \Think\Verify();// 驗(yàn)證碼字體使用 ThinkPHP/Library/Think/Verify/zhttfs/simhei.ttf$Verify->useZh = true;$Verify->entry();

顯示效果如圖:

ThinkPHP框架之驗(yàn)證碼的使用案例

如果無法正常顯示,請確認(rèn)你的 ThinkPHP/Library/Think/Verify/zhttfs/ 目錄下面存在中文字體文件。

若ThinkPHP/Library/Think/Verify/zhttfs/里面沒有中文字體文件,可以下載或者從C:\Windows\Fonts\里面找到中文字體文件復(fù)制過來,注意字體文件擴(kuò)展名為.ttf。

驗(yàn)證碼檢測

可以用Think\Verify類的check方法檢測驗(yàn)證碼的輸入是否正確,例如,下面是封裝的一個(gè)驗(yàn)證碼檢測的函數(shù):

// 檢測輸入的驗(yàn)證碼是否正確,$code為用戶輸入的驗(yàn)證碼字符串function check_verify($code, $id = ''){$verify = new \Think\Verify();return $verify->check($code, $id);
}

練習(xí):以登錄為例:

控制器方法:

display();    
        }    
        else
        {            $code = $_POST["yzm"];             $verify = new \Think\Verify();           if($verify->check($code,2)) //code是用戶輸入的值 ,2是驗(yàn)證碼檢測標(biāo)示,必須與生成的驗(yàn)證碼標(biāo)示相同才能驗(yàn)證            {                if($_POST["uid"]!="" && $_POST["pwd"]!="")
                {                    $model = D("Users");                    $uid = $_POST["uid"];    
                    $pwd = $_POST["pwd"];                    $attr = $model->field("Pwd")->find($uid);                    //var_dump($attr);
                    if($pwd==$attr["pwd"])
                    {
                        session("uid",$uid);   // 跳轉(zhuǎn)頁面之前將$uid存入session                    $this->success("登錄成功!","Main");                                            }                    else
                    {                        $this->error("登錄失?。?);    
                    }
                }                else
                    {                        $this->error("用戶名或者密碼不能為空!");    
                    }
            }            else
            {                $this->error("驗(yàn)證碼不正確!");    
            }
        }        
    }//生成驗(yàn)證碼的操作方法
    function yzm()
    {        $config =    array(    
            'fontSize'    =>    30,    // 驗(yàn)證碼字體大小    
            'length'      =>    4,     // 驗(yàn)證碼位數(shù)  
            'useCurve'    =>    true,  // 是否畫混淆曲線  
            'useNoise'    =>    true,  // 關(guān)閉驗(yàn)證碼雜點(diǎn)
            'expire'      =>    60,    // 驗(yàn)證碼有效期(秒)
            'useImgBg'    =>    false,  // 使用背景圖片
            'useZh'       =>    true,  // 使用中文驗(yàn)證碼
            'imageW'      =>    240,   // 驗(yàn)證碼寬度
            'imageH'      =>    60,    // 驗(yàn)證碼高度
            'fontttf'     =>    'simhei.ttf', // 驗(yàn)證碼字體        );        $Verify = new \Think\Verify($config);        $Verify->entry(2);//參數(shù)是生成驗(yàn)證碼的標(biāo)示,適用于同一個(gè)頁面有多個(gè)驗(yàn)證碼的時(shí)候,生成驗(yàn)證碼的標(biāo)示必須與檢測驗(yàn)證碼的標(biāo)示相同,否則驗(yàn)證碼不正確    }?>

請求Login方法:

ThinkPHP框架之驗(yàn)證碼的使用案例

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ThinkPHP框架之驗(yàn)證碼的使用案例”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


分享名稱:ThinkPHP框架之驗(yàn)證碼的使用案例-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/gsdjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部