Maison développement back-end tutoriel php Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction d'enregistrement avec vérification des antécédents

Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction d'enregistrement avec vérification des antécédents

Mar 21, 2017 am 10:11 AM

Effet :

Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction denregistrement avec vérification des antécédents
Effet de vérification :
Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction denregistrement avec vérification des antécédents
Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction denregistrement avec vérification des antécédents
Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction denregistrement avec vérification des antécédents
Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction denregistrement avec vérification des antécédents
1. Script SQL de base de données

-- 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 */;
Copier après la connexion

CodeStructure du répertoire :
Développement ThinkPHP5 (2) Explication détaillée du code graphique pour implémenter la fonction denregistrement avec vérification des antécédents
2. ÉcrireAfficher
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>
Copier après la connexion

3. Écrivez le manuel 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;);
    }


  }
}
Copier après la connexion

thinkphp5 fournit de nombreuses méthodes de vérification. vérifié dans le contrôleur. Vous pouvez utiliser la fonction d'assistance et peut être vérifié dans le modèle. Cependant, la vérification dans le modèle nécessite que la classe User hérite de la classe de vérification , mais PHP le fait. ne prend pas en charge l'héritage multiple. Vous devez choisir la méthode qui vous convient le mieux.
En termes de détails, les règles de vérification peuvent être personnalisées pour utiliser des expressions régulières pour vérifier les numéros de téléphone portable, les numéros d'identification, etc.

model/User.php

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

}
Copier après la connexion

URL visitée :
http://localhost/tp5/public/index.php/index/regist/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si j'obtiens une erreur lors du déploiement de thinkphp5 dans Pagoda ? Que dois-je faire si j'obtiens une erreur lors du déploiement de thinkphp5 dans Pagoda ? Dec 19, 2022 am 11:04 AM

Solution à l'erreur signalée lors du déploiement de thinkphp5 dans Pagoda : 1. Ouvrez le serveur Pagoda, installez l'extension php pathinfo et activez-la ; 2. Configurez le fichier « .access » avec le contenu « RewriteRule ^(.*)$ index.php » ?s=/$1 [QSA ,PT,L]”; 3. Dans la gestion du site Web, activez simplement le pseudo-statique de thinkphp.

Que dois-je faire si la réécriture d'URL thinkphp5 échoue ? Que dois-je faire si la réécriture d'URL thinkphp5 échoue ? Dec 12, 2022 am 09:31 AM

Solution pour que la réécriture d'URL thinkphp5 ne fonctionne pas : 1. Vérifiez si le module mod_rewrite.so est chargé dans le fichier de configuration httpd.conf ; 2. Remplacez None dans AllowOverride None par All ; (.*)$ index.php [L,E=PATH_INFO:$1]" et enregistrez-le.

Comment obtenir l'URL demandée dans thinkphp5 Comment obtenir l'URL demandée dans thinkphp5 Dec 20, 2022 am 09:48 AM

Méthodes permettant à thinkphp5 d'obtenir l'URL demandée : 1. Utilisez la méthode "$request = Request::instance();" de la classe "\think\Request" pour obtenir les informations actuelles sur l'URL ; fonction "$request-> url()" pour obtenir l'adresse URL complète incluant le nom de domaine.

Que dois-je faire si la publication thinkphp5 ne parvient pas à obtenir la valeur ? Que dois-je faire si la publication thinkphp5 ne parvient pas à obtenir la valeur ? Dec 06, 2022 am 09:29 AM

thinkphp5 post ne peut pas obtenir de valeur car TP5 utilise la fonction strpos pour trouver la chaîne app/json dans la valeur de type de contenu de l'en-tête. La solution consiste à définir la valeur de type de contenu de l'en-tête sur app/json.

Comment supprimer l'icône de la barre de titre thinkphp5 Comment supprimer l'icône de la barre de titre thinkphp5 Dec 20, 2022 am 09:24 AM

Comment supprimer l'icône de la barre de titre thinkphp5 : 1. Recherchez le fichier favicon.ico sous le framework thinkphp5 public. 2. Supprimez le fichier ou choisissez une autre image pour le renommer en favicon.ico et remplacez le fichier favicon.ico d'origine.

Comment utiliser PHP pour implémenter la fonction d'enregistrement des utilisateurs Comment utiliser PHP pour implémenter la fonction d'enregistrement des utilisateurs Sep 25, 2023 pm 06:13 PM

Comment utiliser PHP pour implémenter la fonction d'enregistrement des utilisateurs Dans les applications réseau modernes, la fonction d'enregistrement des utilisateurs est une exigence très courante. Grâce à la fonction d'enregistrement, les utilisateurs peuvent créer leurs propres comptes et utiliser les fonctions correspondantes. Cet article implémentera la fonction d'enregistrement des utilisateurs via le langage de programmation PHP et fournira des exemples de code détaillés. Tout d'abord, nous devons créer un formulaire HTML pour recevoir les informations d'inscription de l'utilisateur. Dans le formulaire, nous devons inclure certains champs de saisie, tels que le nom d'utilisateur, le mot de passe, l'e-mail, etc. Les champs du formulaire peuvent être personnalisés en fonction des besoins réels.

Que dois-je faire si thinkphp5 indique que le contrôleur n'existe pas ? Que dois-je faire si thinkphp5 indique que le contrôleur n'existe pas ? Dec 06, 2022 am 10:43 AM

Solution pour thinkphp5 indiquant que le contrôleur n'existe pas : 1. Vérifiez si l'espace de noms dans le contrôleur correspondant est écrit correctement et remplacez-le par le bon espace de noms ; 2. Ouvrez le fichier tp correspondant et modifiez le nom de la classe.

Comment interroger les données d'hier dans ThinkPHP5 Comment interroger les données d'hier dans ThinkPHP5 Dec 05, 2022 am 09:20 AM

Comment interroger les données d'hier dans ThinkPHP5 : 1. Ouvrez les fichiers liés à ThinkPHP5 ; 2. Interrogez les données d'hier via l'expression "db('table')->whereTime('c_time', 'hier')->select();" .

See all articles