這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用YII2框架怎么實(shí)現(xiàn)一個(gè)驗(yàn)證碼功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比新豐網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式新豐網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋新豐地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。首先我們?cè)诳刂破骼飫?chuàng)建一個(gè)actions方法,用于使用yii\captcha\CaptchaAction
request->isPost) { //獲取post過(guò)來(lái)的驗(yàn)證碼 $verify = YII::$app->request->post('verify'); //我們手動(dòng)進(jìn)行驗(yàn)證,第二個(gè)參數(shù)表示是否區(qū)分大小寫 if ($this->createAction('captcha')->validate($verify, false)) { echo '成功'; } else { echo '失敗'; } } else { return $this->renderPartial('index'); } } //actions的作用主要是共用功能相同的方法 //當(dāng)用戶訪問(wèn)index/captcha時(shí),actions就會(huì)調(diào)用yii\captcha\CaptchaAction方法 public function actions() { return [ 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => null, //背景顏色 'backColor' => 0x000000, //較大顯示個(gè)數(shù) 'maxLength' => 4, //最少顯示個(gè)數(shù) 'minLength' => 4, //間距 'padding' => 2, //高度 'height' => 30, //寬度 'width' => 85, //字體顏色 'foreColor' => 0xffffff, //設(shè)置字符偏移量 'offset' => 4, ], ]; } }
顯示頁(yè)面代碼如下:
分頁(yè)顯示
演示結(jié)果如下:
上面控制器中驗(yàn)證碼的驗(yàn)證方式是我們手動(dòng)的。我們也可以創(chuàng)建一個(gè)模型配置rules()來(lái)自動(dòng)完成。
'請(qǐng)?zhí)顚戲?yàn)證碼'], //注意captchaAction的設(shè)置,指向你顯示驗(yàn)證碼的action,這里我們的是index/captcha ['verify', 'captcha', 'captchaAction' => 'index/captcha', 'caseSensitive' => false, 'message' => '驗(yàn)證碼錯(cuò)誤'], ]; } }
控制器代碼修改如下:
request->isPost) { $verify = new VerifyForm(); $verify->load(YII::$app->request->post(), ''); //自動(dòng)驗(yàn)證 if ($verify->validate()) { echo '成功'; } else { var_dump($verify->errors); } } else { return $this->renderPartial('index'); } } //actions的作用主要是共用功能相同的方法 //當(dāng)用戶訪問(wèn)index/captcha時(shí),actions就會(huì)調(diào)用yii\captcha\CaptchaAction方法 public function actions() { return [ 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => null, //背景顏色 'backColor' => 0x000000, //較大顯示個(gè)數(shù) 'maxLength' => 4, //最少顯示個(gè)數(shù) 'minLength' => 4, //間距 'padding' => 2, //高度 'height' => 30, //寬度 'width' => 85, //字體顏色 'foreColor' => 0xffffff, //設(shè)置字符偏移量 'offset' => 4, ], ]; } }
上述就是小編為大家分享的使用YII2框架怎么實(shí)現(xiàn)一個(gè)驗(yàn)證碼功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。