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

Comment utiliser le propre code de vérification de yii

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-11-09 10:39:151978parcourir

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,
 ],

É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

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

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

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;]
    ]
    )

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);

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!

Déclaration:
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
Article précédent:Comment yii renvoie-t-il 404Article suivant:Comment yii renvoie-t-il 404