首頁  >  文章  >  後端開發  >  ThinkPHP5開發(一)實作登入功能詳解(圖)

ThinkPHP5開發(一)實作登入功能詳解(圖)

黄舟
黄舟原創
2018-05-11 14:04:217543瀏覽

主要從這三個面向著手:

資料庫

PHP程式碼

HTML程式碼&ThinkPHP視圖範本程式碼

資料庫使用mysql5 .7。並且使用PHP最新版本PHP7,apache2.4,Ubuntu16.04

#準備:

  • 下載thinkphp5程式碼,放入apache目錄,賦予777權限

#
chmod 777 -R tp5/
  • 使用atom或sublime或PhpStorm打開你的項目,準備coding


  1. ##建資料庫thinkphp5

  2. -- 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 */;
先搭好框架,運作起來,再加強。

2 . 根據「看雲」上的thinkphp5的手冊寫PHP程式碼
這裡可以直接使用ThinkPHP5提供的可以直接產生程式碼的腳本,也可以手動建立目錄建立檔案
application
目錄結構
ThinkPHP5開發(一)實作登入功能詳解(圖)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 .View程式碼HTML

使用原生HTML、CSS未使用前段框架
效果圖:

ThinkPHP5開發(一)實作登入功能詳解(圖)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>

以上是ThinkPHP5開發(一)實作登入功能詳解(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn