亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

yii自帶驗證碼的實現方法

發布時間:2021-01-08 16:08:44 來源:億速云 閱讀:144 作者:小新 欄目:編程語言

這篇文章主要介紹yii自帶驗證碼的實現方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

總共分為三個方面:控制器配置、模型rules配置和視圖配置。

第一步:控制器配置

將下列代碼配置在actions中,請求驗證碼鏈接對應為 “控制器/captcha”。

'captcha' => [
         'class' => 'yii\captcha\CaptchaAction',
    //     'backColor'=>0x000000,//背景顏色
         'maxLength' => 4, //最大顯示個數
         'minLength' => 4,//最少顯示個數
         'padding' => 5,//間距
         'height'=>45,//高度
         'width' => 75,  //寬度
      //   'foreColor'=>0xffffff,     //字體顏色
         'offset'=>4,
 ],

第二步:模型rules配置,即驗證配置。

首先聲明公共變量

public $verifyCode

其次在rules方法中配置驗證

['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]

在這條配置中的"captchaAction"加入了配置,即控制器的路由,如果不進行配置的話會走site/captcha的路由,這是框架樣例的路由。

第三步:視圖中的配置

在ActiveForm中加入如下代碼:

<?= $form->field($model,'verifyCode')->widget(
    Captcha::className(),
    [
    'template' => '{image}{input}',
    'captchaAction'=>'user/captcha', // 此注意要使用自己配置的那個控制器驗證碼路由
    'imageOptions'=>[ 'style'=>'cursor:pointer;width:77px']
    ]
    )

最后有一個巨坑的問題:由于編碼過程中使用了一些windows下的換行符或者空格,導致了未知的輸出,會導致驗證碼圖片不能夠正常的生成。

這是需要在CaptchaAction類中的renderImageByGD方法中加入如下代碼:

imagecolordeallocate($image, $foreColor);
 
ob_clean(); // 此行為插入代碼,目的是清空緩存區為輸出圖片提供干凈空間。
ob_start();
imagepng($image);
imagedestroy($image);

以上是“yii自帶驗證碼的實現方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

yii
AI

黄骅市| 南宁市| 濮阳市| 射阳县| 丽水市| 牡丹江市| 台州市| 尉犁县| 新密市| 威信县| 阿拉善左旗| 确山县| 青川县| 青海省| 阿图什市| 洪洞县| 平潭县| 桓台县| 仪陇县| 安仁县| 建始县| 永安市| 莱芜市| 兴安盟| 康乐县| 齐河县| 鸡西市| 香河县| 普格县| 海门市| 陆川县| 四子王旗| 大姚县| 洛阳市| 堆龙德庆县| 沙坪坝区| 汪清县| 凯里市| 紫云| 城市| 冀州市|