ホームページ > バックエンド開発 > PHPチュートリアル > ThinkPHP は、データを自動的に作成し、自動的に検証し、詳細な例を自動的に完了します (19)

ThinkPHP は、データを自動的に作成し、自動的に検証し、詳細な例を自動的に完了します (19)

WBOY
リリース: 2016-06-13 12:12:56
オリジナル
893 人が閲覧しました

ThinkPHP はデータを自動的に作成し、自動的に検証し、詳細な例を自動的に完了します (19)


1: データを自動的に作成します

//$name=$_POST['name'];
//$password= $ _POST['password']; ---この登録ページから渡される POST 値
$user =M を定義します。 ('User');
$User->create(); //渡された $_POST データはデータベース フィールド
にマッピングされます$user->add(); //
2: 自動検証


(Modelクラスに$_validate属性を定義するだけ) 利用手順(登録検証Userテーブル)

1: User テーブルのカスタム モードを作成します --->HomeLibModelUserModel.class.php

//注: コード ユーザー名 パスワード.... はフォーム内の名前の値であり、
に対応する必要があります。 / /
class UserModel extends Model{
protected $_validate=array(
array('code','require','検証コードを入力する必要があります!'),
array(' code','checkCode','検証コード エラー!',0,'callback',1), //コールバック関数を使用します checkCode
array('ユーザー名','必須','ユーザーは入力する必要があります!'),
array('ユーザー名','', 'ユーザーはすでに存在します',0,'一意',1),
array('ユーザー名','/^w{6,}$/','ユーザー名必須 6 文字以上',0,'regex',1),
array('repassword','password','パスワードが間違っていることを確認してください',0 、'確認')、
);


保護された関数 checkCode($code){
if(md5($code)!=$_SESSION['code']){
return false;
}else{
return true ;
}
}
}
?>


// 対応する登録メソッドを制御します

class RegisterAction extends Action{
public function doReg(){

$user=D('User') // 大きな D メソッドが最初に行きます。カスタマイズモード、(上で作成した UserModel.class.php クラスを使用)
M と同等 / 自動的に検証され、成功した場合はデータが自動的に作成されます <🎜。 >
$this->error($user->getError());//特定のエラー メッセージを取得
}
$lastId=$user->add();
if($lastId){
$this->redirect('Index/index');
}else{
$this->error('ユーザー登録に失敗しました');
}


}
}
?>

3: オートコンプリート (メッセージを残す例)
手順:
1: メッセージ テーブルのカスタマイズされたモードを作成します --->HomeLibModelMessageModel.class.php

class MessageModel extends RelationModel{
protected $ _auto=array(
array('time','time',1,'function'),
array('uid','getId',1,'callback')

);
保護された関数getId(){
return $_SESSION['id'];
}
}
?>
2: コントローラー内

class MessageAction extends Action{
public function doLiuyan(){
$message=D('メッセージ');
//$message->time=time();
//$message->uid=$_SESSION['id']; これら 2 つの値は、カスタム MessageModel

$message->add() //戻り値は新しい ID 番号です
}
}
?>







関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート