搜索
首页 电脑/网络

ThinkPHP5开发(二)实现带后台验证的注册功能的图文代码详解

全部回答

2023-03-17

0 0

    效果:验证效果:1。数据库SQL脚本-- phpMyAdmin SQL Dump-- version 4。4。15。5-- http://www。phpmyadmin。
  net---- Host: localhost-- Generation Time: 2016-07-09 13:12:42-- 服务器版本: 5。  7。12-log-- PHP Version: 7。
  0。7SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"SET time_zone = "+00:00"/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8mb4 */;---- Database: `thinkphp5`---- ------------------------------------------------------------ 表的结构 `think_user`--CREATE TABLE IF NOT EXISTS `think_user` ( `user_id` int(11) NOT NULL, `user_name` varchar(255) NOT NULL, `user_sex` int(11) DEFAULT NULL, `user_tel` varchar(255) DEFAULT NULL, `user_email` varchar(255) DEFAULT NULL, `user_address` varchar(255) DEFAULT NULL, `user_birth` varchar(255) DEFAULT NULL, `user_jointime` varchar(255) DEFAULT NULL, `user_passwd` varchar(255) DEFAULT NULL, `user_signature` varchar(255) DEFAULT NULL, `user_hobby` varchar(255) DEFAULT NULL) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;---- 转存表中的数据 `think_user`--INSERT INTO `think_user` (`user_id`, `user_name`, `user_sex`, `user_tel`, `user_email`, `user_address`, `user_birth`, `user_jointime`, `user_passwd`, `user_signature`, `user_hobby`) VALUES(1, 'thinkphp' 1, '15700000000' 'emial@email。
    com' '山东省济南市****路' '1111111' '111111' 'qqq' NULL, NULL),(2, 'pangPython' 1, '15700000000' 'email@emial。
    com' '山东省济南市' '201607096' NULL, '123456' 'nihao' '上速度速度');---- Indexes for dumped tables------ Indexes for table `think_user`--ALTER TABLE `think_user` ADD PRIMARY KEY (`user_id`);---- AUTO_INCREMENT for dumped tables------ AUTO_INCREMENT for table `think_user`--ALTER TABLE `think_user` MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;代码目录结构:2 。
    写视图view/regist/index。html<DOCTYPE html><html> <head> <meta charset="utf-8"> <title>注册</title> </head> <style> dl{ text-align:center; border:2px solid #00CC99; margin-top:100px; margin-bottom:100px; margin-right:400px; margin-left:400px; } </style> <body><div id="regist_form"><dl> <form action="regist" method="post"><dt> 姓名:<input type="text" name="user_name"></dt><dt> 性别:<input type="text" name="UserSex"></dt><dt> 手机:<input type="text" name="UserTel"></dt><dt> 邮件:<input type="text" name="UserEmail"></dt><dt> 地址:<input type="text" name="UserAddress"></dt><dt> 生日:<input type="text" name="UserBirth"></dt><dt> 加入时间:<input type="text" name="UserJoinTime"></dt><dt> 密码:<input type="password" name="UserPasswd"></dt><dt> 个性签名:<input type="text" name="UserSignature"></dt><dt> 喜好:<input type="text" name="UserHobby"></dt><dt> <input type="submit" value="注册"></dt> </form></dl></div> </body></html>3 。
    写控制器controller/Regist。php<phpnamespace app\index\controller;use think\View;use think\Controller;use app\index\model\User;class Regist extends Controller{ public function index(){ $view = new View(); return $view->fetch('index'); } //用户注册 public function regist(){ //实例化User $user = new User; //接收前端表单提交的数据 $user->user_name = input('post。
    user_name'); $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。UserJoinTime'); $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('注册失败'); } }}thinkphp5手册中提供了很多种进行验证的方法,可以在控制器进行验证,可以使用助手函数,可以在model进行验证,不过在model进行验证需要User类继承验证类,但是PHP不支持多继承。
    需要自己选择哪一种方式最适合。细节方面,验证规则可以自定义实现使用正则表达式验证手机号,身份证号等。model/User。php<phpnamespace app\index\model;use think\Model;class User extends Model{ protected $pk = 'user_id'}访问的URL:http://localhost/tp5/public/index。
    php/index/regist/。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
电脑/网络
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
举报
举报原因(必选):
取消确定举报