ThinkPHP5——安裝驗證碼和使用


1、使用composer安裝驗證碼  

首先要安裝composer,大部分“composer require topthink/think-captcha”命令無法運行或者提示不是內部文件或可執行命令,都是因為沒有安裝composer,或安裝不成功。直接百度搜composer即可,有鏈接,百度經驗里也有教程,不在這里詳細介紹了。

composer安裝成功后,在你的項目主目錄地址欄里輸入cmd,然后輸入composer require topthink/think-captcha來下載安裝captcha,當然此時有很大概率會報錯,來說一下我遇到的兩個問題吧:

第一:網絡問題,輸入“composer require topthink/think-captcha”窗口一直無響應,此時需要使用以下命令修改composer配置文件,使用國內鏡像。原因你懂的。

composer config -g repo.packagist composer https://packagist.phpcomposer.com

第二:版本問題:此時有大概率會引版本不符而報錯,錯誤提示代碼如下:

因為官方的5.0版本的擴展庫版本號都是1.*2.0版本均為ThinkPHP5.1版本專用,我們只需要更換版本就可以:

composer require topthink/think-captcha 1.*

 注:安裝驗證碼要在項目的根目錄安裝

 

 2、使用

<?php
namespace app\index\controller;
class Captcha extends \think\Controller
{

    // 驗證碼表單
    public function index()
    {
        return $this->fetch();
    }

    // 驗證碼檢測
    public function check($code='')
    {
        //方法一
        $captcha = new \think\captcha\Captcha();
        if (!$captcha->check($code)) {
            $this->error('驗證碼錯誤');
        } else {
            $this->success('驗證碼正確');
        }
        
        // 方法二:函數助手
        if (!captcha_check($code)) {
            $this->error('驗證碼錯誤');
        } else {
            $this->success('驗證碼正確');
        }
    }    
}

注:驗證碼檢測是指驗證碼提交是對它進行驗證,不提交這個check()不會調用

 

<body>
    <h2>驗證碼示例</h2>
    <FORM method="post" class="form" action="{:url('check')}">
        輸入驗證碼:<INPUT type="text" class="text" name="code"><br/>
        <div id="captcha_image">{:captcha_img()}</div><!--模版內驗證碼的顯示-->
        <INPUT type="submit" class="btn" value=" 提交 ">
    </FORM>
    <div class="copyright">
        <a title="官方網站" href="http://www.thinkphp.cn">ThinkPHP</a>
        <span>V5</span>
        <span>{ 十年磨一劍-為API開發設計的高性能框架 }</span>
    </div>
</body>
<script>
    //點擊圖片切換驗證碼
    $('#captcha_image').click(function(){
        $(this).find('img').attr('src','/captcha.html?r='+Math.random());
    });
</script>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM