Maison  >  Article  >  développement back-end  >  Développement ThinkPHP5 (1) Explication détaillée de la fonction de connexion (photo)

Développement ThinkPHP5 (1) Explication détaillée de la fonction de connexion (photo)

黄舟
黄舟original
2018-05-11 14:04:217578parcourir

Partez principalement de ces trois aspects :

Base de données

Code PHP

Code HTML et code du modèle de vue ThinkPHP

La base de données utilise mysql5 .7. Et utilisez la dernière version de PHP PHP7, apache2.4, Ubuntu16.04

Préparation :

  • Téléchargez le code thinkphp5, mettez-le dans le répertoire apache et accordez 777 autorisations

chmod 777 -R tp5/
  • Ouvrez votre projet en utilisant atom ou sublime ou PhpStorm et préparez-vous au codage


  1. Créer une base de données thinkphp5

-- phpMyAdmin SQL Dump
-- version 4.4.15.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: 2016-07-06 20:42:33
-- 服务器版本: 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,
  `UserSex` int(11) DEFAULT NULL,
  `UserTel` varchar(255) DEFAULT NULL,
  `UserEmail` varchar(255) DEFAULT NULL,
  `UserAddress` varchar(255) DEFAULT NULL,
  `UserBirth` varchar(255) DEFAULT NULL,
  `UserJoinTime` varchar(255) DEFAULT NULL,
  `UserPasswd` varchar(255) DEFAULT NULL,
  `UserSignature` varchar(255) DEFAULT NULL,
  `UserHobby` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- 转存表中的数据 `think_user`
--

INSERT INTO `think_user` (`user_id`, `
user_name`, `
UserSex`, 
`UserTel`, `
UserEmail`, `
UserAddress`, `
UserBirth`, `
UserJoinTime`, `
UserPasswd`, `
UserSignature`, `
UserHobby`) VALUES
(0, 'thinkphp', 1, '15700000000', 'emial@email.com', '山东省济南市****路', '1111111', '111111', 'qqq', NULL, NULL);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `think_user`
--
ALTER TABLE `think_user`
  ADD PRIMARY KEY (`user_id`);

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

Configurez d'abord le framework, exécutez-le, puis améliorez-le.
2. Écrivez du code PHP selon le manuel thinkphp5 sur "Kanyun"
Ici, vous pouvez utiliser directement le script fourni par ThinkPHP5 qui peut générer directement du code, ou vous pouvez créer manuellement des répertoires et des fichiers
applicationStructure du répertoire
Développement ThinkPHP5 (1) Explication détaillée de la fonction de connexion (photo)
Login.php

<?php
namespace app\index\controller;
use think\View;
use think\Controller;
use app\index\model\User;
/**
 *
 */
class login extends Controller{
  public function index(){
    $view = new View();
    return $view->fetch(&#39;index&#39;);
  }
  public function login($user_name=&#39;&#39;,$user_passwd=&#39;&#39;){
    $user = User::get([
        &#39;user_name&#39; => $user_name,
        &#39;UserPasswd&#39; => $user_passwd
        ]);
    if($user){
        echo &#39;登录成功&#39;.$user_name.md5($user_passwd);
    }else{
        return $this->error(&#39;登录失败&#39;);
    }
  }
}

User.php

<?php
namespace app\index\model;
use think\Model;
class User extends Model{
    protected $pk = &#39;user_id&#39;;//设置主键}

3. Afficher le code HTML
Utiliser le HTML natif , CSS Le framework front-end n'est pas utilisé
Rendu :
Développement ThinkPHP5 (1) Explication détaillée de la fonction de connexion (photo)
login/index.html

<!DOCTYPE>
<html>
<head>
    <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>
    <p id="login_form">
<form action="login" method="post">
    <dl>

    <dt>
        <p>用户名:<input type="text" name="user_name"></p>
    </dt>


    <dt>
        <p>密码:<input type="password" name="user_passwd"></p>
    </dt>

    <dt>
<p>{:captcha_img()}</p>
    </dt>

    <dt>
        <p><input type="submit" value="登录"></p>
    </dt>
    </dl>
</form>
</p>
</body>
</html>
  • J'ai lu le manuel ThinkPHP5, mais je ne l'ai pas encore résoluCode de vérification question.

  • Dans l'outil de débogage de ThinkPHP, vous pouvez voir directement le mot de passe de la base de données et le mot de passe soumis par l'utilisateur, même si j'utilise le formulaire de soumission POST.

  • Après vous être connecté, vous devez faire une Session, rédiger un journal de connexion, enregistrer l'heure de connexion, l'adresse IP et d'autres informations

  • et quelques autres problèmes de sécurité…

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:
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