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,'verifyCode')->widget( Captcha::className(), [ 'template' => '{image}{input}', 'captchaAction'=>'user/captcha', // 此注意要使用自己配置的那个控制器验证码路由 'imageOptions'=>[ 'style'=>'cursor:pointer;width:77px'] ] )
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!