注冊(cè)的表單提交與處理
由于要與數(shù)據(jù)庫(kù)的user表進(jìn)行關(guān)聯(lián)才能添加,TP5內(nèi)部已經(jīng)做好了處理只需要新建application/index/model/User.php文件
寫(xiě)入代碼如下:
<?php namespace app\index\model; use think\Model; class User extends Model { protected $pk = 'user_id'; }
由上一節(jié)可知注冊(cè)提交的路徑和方式為:
<form action="/public/index.php/index/regist/regist" method="post">
繼續(xù)編輯application/index/controller/Regist.php
寫(xiě)一個(gè)regist方法:
<?php //用戶注冊(cè) public function regist(){ //實(shí)例化User $user = new User; //接收前端表單提交的數(shù)據(jù) $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'); //進(jìn)行規(guī)則驗(yàn)證 $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); } //寫(xiě)入數(shù)據(jù)庫(kù) if ($user->save()) { return $this->success('注冊(cè)成功'); } else { return $this->success('注冊(cè)失敗'); } }
全部驗(yàn)證通過(guò)$result才會(huì)等于true,有一個(gè)錯(cuò)誤就返回對(duì)應(yīng)的string類型的錯(cuò)誤信息
input('post.UserName')獲取的數(shù)值根據(jù)(提交的方式).(表單的nama值的屬性)
這樣注冊(cè)功能就完成了
效果展示如下:
數(shù)據(jù)庫(kù)展示如下:
王文韜
controller 里需要引入app\index\model\user 沒(méi)提啊
7年前 添加回復(fù) 1