Heim >PHP-Framework >YII >So verwenden Sie den eigenen Bestätigungscode von yii

So verwenden Sie den eigenen Bestätigungscode von yii

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-11-09 10:39:152085Durchsuche

So verwenden Sie den eigenen Bestätigungscode von yii

Es ist in drei Aspekte unterteilt: Controller-Konfiguration, Modellregelkonfiguration und Ansichtskonfiguration.

Schritt 1: Controller-Konfiguration

Konfigurieren Sie den folgenden Code in Aktionen, und der Link zum Anforderungsbestätigungscode entspricht „Controller/Captcha“.

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

Schritt 2: Modellregeln konfigurieren, d. h. die Konfiguration überprüfen.

Deklarieren Sie zunächst die öffentlichen Variablen

public $verifyCode

Konfigurieren Sie anschließend die Überprüfung in der Regelmethode

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

Fügen Sie „captchaAction“ in dieser Konfigurationskonfiguration hinzu , also das Routing des Controllers. Wenn nicht konfiguriert, wird das Site-/Captcha-Routing verwendet. Dies ist das Routing des Framework-Beispiels.

Schritt 3: Konfiguration in der Ansicht

Fügen Sie den folgenden Code zu ActiveForm hinzu:

<?= $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;]
    ]
    )

Schließlich gibt es ein großes Pit-Problem: Aufgrund der Verwendung einiger Zeilenumbrüche oder Leerzeichen unter Windows während des Kodierungsprozesses wird eine unbekannte Ausgabe verursacht und das Bestätigungscodebild kann nicht normal generiert werden.

Dazu muss der renderImageByGD-Methode in der CaptchaAction-Klasse der folgende Code hinzugefügt werden:

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

php Chinesische Website, eine große Anzahl kostenloser yii-Einführungs-Tutorials, willkommen zum Lernen online!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den eigenen Bestätigungscode von yii. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wie gibt yii 404 zurück?Nächster Artikel:Wie gibt yii 404 zurück?

In Verbindung stehende Artikel

Mehr sehen