ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP 自動検証失敗ソリューション_PHP チュートリアル

ThinkPHP 自動検証失敗ソリューション_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:28:31677ブラウズ

コードをコピー コードは次のとおりです:

/*
* Login
*/
public function Login(){
if($_POST['submit']){
$DB = D(' Login') ;//カスタムモデル処理
//If は ThinkPHP の自動検証です
if(!$DB->create()){
$this->redirect('Index/Login', '' , 3, 'エラー メッセージ: '.$DB->getError().'
システムは 3 秒後に再びログインに戻ります...');
}else{
$con[ 'ログイン名' ] = $_POST['ユーザー名'];
$con['LoginPwd'] = md5($_POST['userpwd']);
$list = $DB->where($con)-> find() ;
if(count($list)>0){
echo 'ok';
}else{
$this->redirect('インデックス/ログイン', '', 3, 'エラーメッセージ:ユーザー名またはパスワードが間違っています
システムは 3 秒後に戻り、再度ログインします...');
}
}
return; ここでは、テンプレート ファイルのアドレスをカプセル化します。 A(' Public')->ShowPage('login');
}




コードをコピーします
コードは次のとおりです: class LoginModel extends Model {
//データテーブルの設定
protected $ tableName = 'admin';
//自動検証設定
protected $_validate = array(
array('username','require','Username is required!', 1),
array(' userpwd','require' ,'パスワードが必要です! ', 1),
);
/* 自動検証を実行できない場合は、このコードのコメントを解除して、
protected $_auto = array('status) を確認してください。 ','1', self::MODEL_INSERT),
array('create_time','time',self::MODEL_INSERT,'function'),
);*/
/*ThinkPHP2.0 開発マニュアルより引用: ThinkPHP マニュアル型チェックはデータベース レベルの検証のみに使用されるため、システムには、モデルのビジネス ルール検証を完了するためのデータ オブジェクトの自動検証機能も組み込まれています。ほとんどの場合、データ オブジェクトは、によって送信された $_POST データによって作成されます。フォーム。システムの自動検証機能を使用する必要がある場合は、Model クラスに $_validate 属性を定義するだけです
*/
/*ここでは、Model クラスに $_validate 属性を定義するだけと言っていますが、 ThinkPHP2.1 を使用すると、確かに検証に合格できません。 $DB->getError() はエラーの理由を返しません。更新すると、$DB->getError() は「トークン フォーム エラー」を返します
*/
}
?>




http://www.bkjia.com/PHPjc/323579.html

www.bkjia.com

http://www.bkjia.com/PHPjc/323579.html技術記事次のようにコードをコピーします。 /* * Login*/ public function Login(){ if($_POST['submit']){ $DB = D('Login');//カスタム モデルの処理//内部が ThinkPHP の場合自動的に検証されます。 if(!$DB...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。