


ThinkPHP5 development (2) Detailed explanation of graphic code to implement registration function with background verification
Effect:
Verification effect: ## 1. Database SQL script
-- 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.7 SET 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 */;
Directory structure: 2. Write
view 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> <p>姓名:<input type="text" name="user_name"></p> </dt> <dt> <p>性别:<input type="text" name="UserSex"></p> </dt> <dt> <p>手机:<input type="text" name="UserTel"></p> </dt> <dt> <p>邮件:<input type="text" name="UserEmail"></p> </dt> <dt> <p>地址:<input type="text" name="UserAddress"></p> </dt> <dt> <p>生日:<input type="text" name="UserBirth"></p> </dt> <dt> <p>加入时间:<input type="text" name="UserJoinTime"></p> </dt> <dt> <p>密码:<input type="password" name="UserPasswd"></p> </dt> <dt> <p>个性签名:<input type="text" name="UserSignature"></p> </dt> <dt> <p>喜好:<input type="text" name="UserHobby"></p> </dt> <dt> <p><input type="submit" value="注册"></p> </dt> </form> </dl> </div> </body> </html>
controller controller/Regist.php
<?php namespace 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('注册失败'); } } }
helper function , which can be verified in the model. However, verification in the model requires the User class to inherit the verification class, but PHP does not support multiple inheritance. You need to choose which method is best for you. In terms of details,
Verification rules can be customized to use regular expressions to verify mobile phone numbers, ID numbers, etc.
<?phpnamespace app\index\model;use think\Model;class User extends Model{ protected $pk = 'user_id'; }
http://localhost/tp5/public/index.php/index/regist/
The above is the detailed content of ThinkPHP5 development (2) Detailed explanation of graphic code to implement registration function with background verification. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solution to the error reported when deploying thinkphp5 in Pagoda: 1. Open the Pagoda server, install the php pathinfo extension and enable it; 2. Configure the ".access" file with the content "RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]”; 3. In website management, just enable thinkphp’s pseudo-static.

Solution to thinkphp5 url rewriting not working: 1. Check whether the mod_rewrite.so module is loaded in the httpd.conf configuration file; 2. Change None in AllowOverride None to All; 3. Modify the Apache configuration file .htaccess to "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" and save it.

How to use PHP to implement user registration function In modern network applications, user registration function is a very common requirement. Through the registration function, users can create their own accounts and use corresponding functions. This article will implement the user registration function through the PHP programming language and provide detailed code examples. First, we need to create an HTML form to receive the user's registration information. In the form, we need to include some input fields, such as username, password, email, etc. Form fields can be customized according to actual needs.

Methods for thinkphp5 to obtain the requested URL: 1. Use the "$request = Request::instance();" method of the "\think\Request" class to obtain the current URL information; 2. Use the built-in helper function "$request-> url()" to obtain the complete URL address including the domain name.

How to remove the thinkphp5 title bar icon: 1. Find the favicon.ico file under the thinkphp5 framework public; 2. Delete the file or choose another picture to rename it to favicon.ico and replace the original favicon.ico file.

thinkphp5 post cannot get a value because TP5 uses the strpos function to find the app/json string in the content-type value of the Header. The solution is to set the content-type value of the Header to app/json.

Solution to thinkphp5 prompting that the controller does not exist: 1. Check whether the namespace in the corresponding controller is written correctly and change it to the correct namespace; 2. Open the corresponding tp file and modify the class name.

How to query yesterday's data in ThinkPHP5: 1. Open ThinkPHP5 related files; 2. Query yesterday's data through the expression "db('table')->whereTime('c_time', 'yesterday')->select();" Can.
