ThinkPHP5开发(一)实现登录功能详解(图)

黄舟
发布: 2023-03-06 19:50:01
原创
7461 人浏览过

主要从这三个方面入手:

数据库

PHP代码

HTML代码&ThinkPHP视图模板代码

数据库使用mysql5.7。并且使用PHP最新版本PHP7,apache2.4,Ubuntu16.04

准备:

  • 下载thinkphp5代码,放入apache目录,赋予777权限

chmod 777 -R tp5/
登录后复制
  • 使用atom或者sublime或者PhpStorm打开你的项目,准备coding


  1. 建数据库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 */;
登录后复制

先搭好框架,运行起来,再加强。
2 . 根据“看云”上的thinkphp5的手册写PHP代码
这里可以直接使用ThinkPHP5提供的可以直接生成代码的脚本,也可以手动建目录建文件
application目录结构
这里写图片描述
Login.php

fetch('index');
  }
  public function login($user_name='',$user_passwd=''){
    $user = User::get([
        'user_name' => $user_name,
        'UserPasswd' => $user_passwd
        ]);
    if($user){
        echo '登录成功'.$user_name.md5($user_passwd);
    }else{
        return $this->error('登录失败');
    }
  }
}
登录后复制

User.php

登录后复制

3 . View代码HTML
使用原生HTML、CSS未使用前段框架
效果图:
这里写图片描述
login/index.html




    登录

用户名:

密码:

{:captcha_img()}

登录后复制
  • 看了ThinkPHP5的手册,自己还没解决验证码问题。

  • ThinkPHP的调试工具里边可以直接看到数据库密码,用户提交的密码,虽说自己使用的POST提交表单。

  • 登录之后需要做Session,写登录日志,记录登录时间、IP等信息

  • 还有一些安全问题…

以上是ThinkPHP5开发(一)实现登录功能详解(图)的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!