登録フォームの送信と処理
追加するにはデータベースのユーザーテーブルと関連付ける必要があるため、TP5 はすでに内部で処理を行っており、新しい application/index/model/User.php ファイルを作成するだけで済みます
次のようにコードを記述します。
<?php namespace app\index\model; use think\Model; class User extends Model { protected $pk = 'user_id'; }
前のセクションからわかるように、登録送信のパスとメソッドは次のとおりです。 :
<フォームアクション="/public/index.php/index/regist/regist"メソッド="post">
##application/index/controller/Regist.php の編集を続行します
レジスト メソッドを書き込みます:
<?php //用户注册 public function regist(){ //实例化User $user = new User; //接收前端表单提交的数据 $user->user_name = input('post.UserName'); $user->user_sex = input('post.UserSex'); $user->user_tel = input('post.UserTel'); $user->user_email = input('post.UserEmail'); $user->user_address = input('post.UserAddress'); $user->user_birth = input('post.UserBirth'); $user->user_passwd = input('post.UserPasswd'); $user->user_signature = input('post.UserSignature'); $user->user_hobby = input('post.UserHobby'); //进行规则验证 $result = $this->validate( [ 'name' => $user->user_name, 'email' => $user->user_email, 'sex' => $user->user_sex, 'tel' => $user->user_tel, 'address' => $user->user_address, 'birth' => $user->user_birth, 'password' => $user->user_passwd, ], [ 'name' => 'require|max:10', 'email' => 'email', 'sex' => 'number|between:0,1', 'tel' => 'require', 'address' => 'require', 'birth' => 'require', 'password' => 'require', ]); if (true !== $result) { $this->error($result); } //写入数据库 if ($user->save()) { return $this->success('注册成功'); } else { return $this->success('注册失败'); } }
$結果は次と等しくなりますすべての検証が成功した場合のみ true エラーがある場合は、対応する文字列型のエラー メッセージが返されます。
#input('post.UserName') で取得した値(送信方法) を元にしています (フォームのNama value属性)
#効果は次のように表示されます:
データベースは次のように表示されます: