Heim  >  Artikel  >  Backend-Entwicklung  >  ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung

ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung

黄舟
黄舟Original
2017-03-21 10:11:402793Durchsuche

Wirkung:

ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung
Verifizierungswirkung:
ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung
ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung
ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung
ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung
1. Datenbank-SQL-Skript

-- 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 */;

CodeVerzeichnisstruktur:
ThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung
2. SchreibenAnzeigen
Anzeigen/Registrieren/ 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>

3. Schreiben Sie 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(&#39;index&#39;);

  }

  //用户注册
  public function regist(){
    //实例化User
    $user = new User;
    //接收前端表单提交的数据
    $user->user_name = input(&#39;post.user_name&#39;);
    $user->user_sex = input(&#39;post.UserSex&#39;);
    $user->user_tel = input(&#39;post.UserTel&#39;);
    $user->user_email = input(&#39;post.UserEmail&#39;);
    $user->user_address = input(&#39;post.UserAddress&#39;);
    $user->user_birth = input(&#39;post.UserJoinTime&#39;);
    $user->user_passwd = input(&#39;post.UserPasswd&#39;);
    $user->user_signature = input(&#39;post.UserSignature&#39;);
    $user->user_hobby = input(&#39;post.UserHobby&#39;);
    //进行规则验证
    $result = $this->validate(
      [
        &#39;name&#39; => $user->user_name,
        &#39;email&#39; => $user->user_email,
        &#39;sex&#39; => $user->user_sex,
        &#39;tel&#39; => $user->user_tel,
        &#39;address&#39; => $user->user_address,
        &#39;birth&#39; => $user->user_birth,
        &#39;password&#39; => $user->user_passwd,
      ],
      [
        &#39;name&#39; => &#39;require|max:10&#39;,
        &#39;email&#39; => &#39;email&#39;,
        &#39;sex&#39; => &#39;number|between:0,1&#39;,
        &#39;tel&#39; => &#39;require&#39;,
        &#39;address&#39; => &#39;require&#39;,
        &#39;birth&#39; => &#39;require&#39;,
        &#39;password&#39; => &#39;require&#39;,
      ]);
    if (true !== $result) {
      $this->error($result);
    }

    //写入数据库
    if ($user->save()) {
      return $this->success(&#39;注册成功&#39;);
    } else {
      return $this->success(&#39;注册失败&#39;);
    }


  }
}

thinkphp5-Handbuch bietet viele Methoden zur Überprüfung. Die Methode kann sein Sie können die -Hilfsfunktion verwenden und im Modell verifizieren. Die Verifizierung im Modell erfordert jedoch, dass die Benutzerklasse die Verifizierungsklasse erbt unterstützt keine Mehrfachvererbung. Sie müssen entscheiden, welche Methode für Sie am besten geeignet ist.
Im Detail können Verifizierungsregeln angepasst werden, um reguläre Ausdrücke zur Verifizierung von Mobiltelefonnummern, ID-Nummern usw. zu verwenden.

model/User.php

<?phpnamespace app\index\model;use think\Model;class User extends Model{
    protected $pk = &#39;user_id&#39;;

}

Besuchte URL:
http://localhost/tp5/public/index.php/index/regist/

Das obige ist der detaillierte Inhalt vonThinkPHP5-Entwicklung (2) Detaillierte Erläuterung des Grafikcodes zur Implementierung der Registrierungsfunktion mit Hintergrundüberprüfung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn