Heim  >  Artikel  >  Backend-Entwicklung  >  ThinkPHP5-Entwicklung (1) Detaillierte Erläuterung der Anmeldefunktion (Bild)

ThinkPHP5-Entwicklung (1) Detaillierte Erläuterung der Anmeldefunktion (Bild)

黄舟
黄舟Original
2018-05-11 14:04:217588Durchsuche

Beginnen Sie hauptsächlich mit diesen drei Aspekten:

Datenbank

PHP-Code

HTML-Code und ThinkPHP-Ansichtsvorlagencode

Die Datenbank verwendet mysql5 .7. Und verwenden Sie die neueste Version von PHP PHP7, Apache2.4, Ubuntu16.04

Vorbereitung:

  • Laden Sie den thinkphp5-Code herunter, legen Sie ihn im Apache-Verzeichnis ab und gewähren Sie ihn 777 Berechtigungen

chmod 777 -R tp5/
  • Öffnen Sie Ihr Projekt mit Atom oder Sublime oder PhpStorm und bereiten Sie sich auf die Codierung vor


  1. Erstellen Sie eine Datenbank 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 */;

Richten Sie zuerst das Framework ein, führen Sie es aus und erweitern Sie es dann.
2. Schreiben Sie PHP-Code gemäß dem thinkphp5-Handbuch zu „Kanyun“
Hier können Sie direkt das von ThinkPHP5 bereitgestellte Skript verwenden, das Code direkt generieren kann, oder Sie können Verzeichnisse und Dateien manuell erstellen
AnwendungVerzeichnisstruktur
ThinkPHP5-Entwicklung (1) Detaillierte Erläuterung der Anmeldefunktion (Bild)
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. Code-HTML anzeigen
Natives HTML verwenden , CSS Das Front-End-Framework wird nicht verwendet
Rendering:
ThinkPHP5-Entwicklung (1) Detaillierte Erläuterung der Anmeldefunktion (Bild)
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>
  • Ich habe das ThinkPHP5-Handbuch gelesen, aber ich habe es noch nicht gelöstBestätigungscode Frage.

  • Im Debugging-Tool von ThinkPHP können Sie das Datenbankpasswort und das vom Benutzer übermittelte Passwort direkt sehen, obwohl ich das POST-Übermittlungsformular verwende.

  • Nach dem Anmelden müssen Sie eine Sitzung durchführen, ein Anmeldeprotokoll schreiben, Anmeldezeit, IP und andere Informationen aufzeichnen

  • und einige weitere Sicherheitsprobleme…

Das obige ist der detaillierte Inhalt vonThinkPHP5-Entwicklung (1) Detaillierte Erläuterung der Anmeldefunktion (Bild). 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