Maison > cadre php > YII > Comment utiliser le propre code de vérification de yii

Comment utiliser le propre code de vérification de yii

爱喝马黛茶的安东尼
Libérer: 2019-11-09 10:39:15
original
2089 Les gens l'ont consulté

Comment utiliser le propre code de vérification de yii

Il est divisé en trois aspects : la configuration du contrôleur, la configuration des règles du modèle et la configuration des vues.

Étape 1 : Configuration du contrôleur

Configurez le code suivant dans les actions, et le lien du code de vérification de la demande correspond à "contrôleur/captcha".

'captcha' => [
         'class' => 'yii\captcha\CaptchaAction',
    //     'backColor'=>0x000000,//背景颜色
         'maxLength' => 4, //最大显示个数
         'minLength' => 4,//最少显示个数
         'padding' => 5,//间距
         'height'=>45,//高度
         'width' => 75,  //宽度
      //   'foreColor'=>0xffffff,     //字体颜色
         'offset'=>4,
 ],
Copier après la connexion

Étape 2 : Configurer les règles du modèle, c'est-à-dire vérifier la configuration.

Déclarez d'abord les variables publiques

public $verifyCode
Copier après la connexion

Deuxièmement configurez la vérification dans la méthode des règles

['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]
Copier après la connexion

Ajoutez "captchaAction" dans cette configuration Configuration , c'est-à-dire le routage du contrôleur. S'il n'est pas configuré, le routage site/captcha sera utilisé. Il s'agit du routage de l'exemple de framework.

Étape 3 : Configuration dans la vue

Ajoutez le code suivant à ActiveForm :

<?= $form->field($model,&#39;verifyCode&#39;)->widget(
    Captcha::className(),
    [
    &#39;template&#39; => &#39;{image}{input}&#39;,
    &#39;captchaAction&#39;=>&#39;user/captcha&#39;, // 此注意要使用自己配置的那个控制器验证码路由
    &#39;imageOptions&#39;=>[ &#39;style&#39;=>&#39;cursor:pointer;width:77px&#39;]
    ]
    )
Copier après la connexion

Enfin il y a un énorme problème de fosse : En raison de l'utilisation de certains caractères de nouvelle ligne ou d'espaces sous Windows pendant le processus de codage, une sortie inconnue est provoquée et l'image du code de vérification ne peut pas être générée normalement.

Cela nécessite d'ajouter le code suivant à la méthode renderImageByGD dans la classe CaptchaAction :

imagecolordeallocate($image, $foreColor);
 
ob_clean(); // 此行为插入代码,目的是清空缓存区为输出图片提供干净空间。
ob_start();
imagepng($image);
imagedestroy($image);
Copier après la connexion

site Web chinois php, un grand nombre de tutoriels d'introduction yii gratuits, bienvenue pour apprendre en ligne!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
yii
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal