国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ バックエンド開(kāi)発 PHPチュートリアル yii 検証コードの使用と検証プロセス

yii 検証コードの使用と検証プロセス

Jun 13, 2016 pm 12:27 PM
array gt public this

yii 検証コードの使用と検証プロセス

このプロセスを?qū)g裝するには、いくつかの手順が必要です

最初のステップはコントローラーの操作です

操作対象のコントローラー 次のコードを追加します。

public function actions(){return array( // captcha action renders the CAPTCHA image displayed on the contact page'captcha'=>array('class'=>'CCaptchaAction','backColor'=>0xFFFFFF, 'maxLength'=>'8', // 最多生成幾個(gè)字符'minLength'=>'7', // 最少生成幾個(gè)字符'height'=>'40','width'=>'230',), ); }public function accessRules(){return array(array('allow','actions'=>array('captcha'),'users'=>array('*'),),);}

2 番目のステップは、ビューを操作することです

確認(rèn)コードを表示したい:

<div class="control-group"><?php $this->widget('CCaptcha',array('showRefreshButton'=>true,'clickableImage'=>false,'buttonLabel'=>'刷新驗(yàn)證碼','imageOptions'=>array('alt'=>'點(diǎn)擊換圖','title'=>'點(diǎn)擊換圖','style'=>'cursor:pointer','padding'=>'10'))); ?></div>


3 番目のステップは LoginForm の操作です

<?php/*** LoginForm class.* LoginForm is the data structure for keeping* user login form data. It is used by the 'login' action of 'SiteController'.*/class LoginForm extends CFormModel{public $username;public $password;public $rememberMe;public $verifyCode;private $_identity;/*** Declares the validation rules.* The rules state that username and password are required,* and password needs to be authenticated.*/public function rules(){return array(// username and password are required//	array('username, password', 'required'),array('username','required','message'=>'登錄帳號(hào)不能為空'),array('password','required','message'=>'密碼不能為空'),array('verifyCode','required','message'=>'驗(yàn)證碼不能為空'),array('verifyCode','captcha', 'on'=>'login','allowEmpty'=>!Yii::app()->admin->isGuest),// rememberMe needs to be a booleanarray('rememberMe', 'boolean'),// password needs to be authenticatedarray('password', 'authenticate'),);}/*** Declares attribute labels.*/public function attributeLabels(){return array('rememberMe'=>'下次記住我','verifyCode' =>'驗(yàn)證碼');}/*** Authenticates the password.* This is the 'authenticate' validator as declared in rules().*/public function authenticate($attribute,$params){if(!$this->hasErrors()){$this->_identity=new UserIdentity($this->username,$this->password);if(!$this->_identity->authenticate())$this->addError('password','帳號(hào)或密碼錯(cuò)誤.');}}public function validateVerifyCode($verifyCode){if(strtolower($this->verifyCode) === strtolower($verifyCode)){return true;}else{$this->addError('verifyCode','驗(yàn)證碼錯(cuò)誤.');}}/*** Logs in the user using the given username and password in the model.* @return boolean whether login is successful*/public function login(){if($this->_identity===null){$this->_identity=new UserIdentity($this->username,$this->password);$this->_identity->authenticate();}if($this->_identity->errorCode===UserIdentity::ERROR_NONE){$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 daysYii::app()->user->login($this->_identity,$duration);return true;}else{return false;}	}}

4 番目のステップ、検証プロセスを?qū)g裝するために、私が作成したメソッドの 1 つを詳しく見(jiàn)てみましょう。
validateVerifyCode は、コントローラー

< で呼び出すことができます。 ??>私の呼び出しは次のとおりです:

public function actionLogin(){$model=new LoginForm;if(isset($_POST['ajax']) && $_POST['ajax']==='login-form'){echo CActiveForm::validate($model);Yii::app()->end();}if(isset($_POST['LoginForm'])){$model->attributes=$_POST['LoginForm'];// validate user input and redirect to the previous page if validif($model->validate() && $model->validateVerifyCode($this->createAction('captcha')->getVerifyCode()) && $model->login()){$this->redirect(CController::createUrl('default/index'));}}$this->render('login',array('model'=>$model));}

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質(zhì)はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質(zhì)はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結(jié)果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

修正: Windows 11 で Snipping ツールが機(jī)能しない 修正: Windows 11 で Snipping ツールが機(jī)能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機(jī)能しない理由 問(wèn)題の根本原因を理解すると、適切な解決策を見(jiàn)つけるのに役立ちます。 Snipping Tool が正しく動(dòng)作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開(kāi)かなくなります。破損したアプリケーション: 起動(dòng)時(shí)にスニッピング ツールがクラッシュする場(chǎng)合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競(jìng)合する可能性があります。証明書(shū)の有効期限が切れています: アップグレード プロセス中のエラーにより、この問(wèn)題が発生する可能性があります。これらの簡(jiǎn)単な解決策は、ほとんどのユーザーに適しており、特別な技術(shù)知識(shí)は必要ありません。 1. Windows および Microsoft Store アプリを更新する

iOS の開(kāi)発者バージョンとパブリック バージョンの違いは何ですか? iOS の開(kāi)発者バージョンとパブリック バージョンの違いは何ですか? Mar 01, 2024 pm 12:55 PM

毎年、Apple が iOS と macOS の新しいメジャー バージョンをリリースする前に、ユーザーは數(shù)か月前にベータ版をダウンロードして最初に體験することができます。同ソフトウェアは一般ユーザーと開(kāi)発者の両方が使用するため、Appleは開(kāi)発者向けベータ版のパブリックベータ版である開(kāi)発者版とパブリック版を両方向けに開(kāi)始した。 iOS の開(kāi)発者バージョンとパブリック バージョンの違いは何ですか?文字通りに言うと、開(kāi)発者バージョンは開(kāi)発者テスト バージョンであり、パブリック バージョンは公開(kāi)テスト バージョンです。開(kāi)発者バージョンとパブリック バージョンは、異なるユーザーを?qū)澫螭趣筏皮い蓼?。開(kāi)発者バージョンは、Apple が開(kāi)発者によるテストのために使用します。ダウンロードしてアップグレードするには、Apple 開(kāi)発者アカウントが必要です。

C# の Array.Sort 関數(shù)を使用して配列を並べ替える C# の Array.Sort 関數(shù)を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関數(shù)を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構(gòu)造であり、多くの場(chǎng)合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡(jiǎn)単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関數(shù)を使用して配列を並べ替える方法を示し、具體的なコード例を示します。まず、Array.Sort 関數(shù)の基本的な使用法を理解する必要があります。 Array.So

PHPのarray_merge_recursive()関數(shù)を使用するシンプルで明確な方法 PHPのarray_merge_recursive()関數(shù)を使用するシンプルで明確な方法 Jun 27, 2023 pm 01:48 PM

PHP でプログラミングする場(chǎng)合、多くの場(chǎng)合、配列をマージする必要があります。 PHP には、配列のマージを完了するための array_merge() 関數(shù)が用意されていますが、配列內(nèi)に同じキーが存在する場(chǎng)合、この関數(shù)は元の値を上書(shū)きします。この問(wèn)題を解決するために、PHP は配列をマージして同じキーの値を保持できる array_merge_recursive() 関數(shù)を言語(yǔ)で提供し、プログラム設(shè)計(jì)をより柔軟にします。配列マージ

PHP で array_combine 関數(shù)を使用して 2 つの配列を結(jié)合して連想配列にする方法 PHP で array_combine 関數(shù)を使用して 2 つの配列を結(jié)合して連想配列にする方法 Jun 26, 2023 pm 01:41 PM

PHP には、配列操作をより便利かつ高速にする強(qiáng)力な配列関數(shù)が多數(shù)あります。 2 つの配列を結(jié)合して連想配列にする必要がある場(chǎng)合、PHP の array_combine 関數(shù)を使用してこの操作を?qū)g行できます。この関數(shù)は、実際には、ある配列のキーを別の配列の値として新しい連想配列に結(jié)合するために使用されます。次に、PHP の array_combine 関數(shù)を使用して 2 つの配列を結(jié)合して連想配列にする方法を説明します。 array_comb について學(xué)ぶ

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

パート 1: 最初のトラブルシューティング手順 Apple のシステムステータスを確認(rèn)する: 複雑な解決策を掘り下げる前に、基本から始めましょう。問(wèn)題はデバイスにあるのではなく、Apple のサーバーがダウンしている可能性があります。 Apple のシステム ステータス ページにアクセスして、AppStore が適切に動(dòng)作しているかどうかを確認(rèn)してください。問(wèn)題があれば、Apple が修正してくれるのを待つしかありません。インターネット接続を確認(rèn)します?!窤ppStore に接続できません」問(wèn)題は接続不良が原因である場(chǎng)合があるため、安定したインターネット接続があることを確認(rèn)してください。 Wi-Fi とモバイル データを切り替えるか、ネットワーク設(shè)定をリセットしてみてください ([一般] > [リセット] > [ネットワーク設(shè)定のリセット] > [設(shè)定])。 iOS バージョンを更新します。

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出,該如何解決 php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出而不是在空白頁(yè)彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁(yè)彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

See all articles