项目代码托管于CSDN-CODE:
https://code.csdn.net/u012995856/tp5pro/tree/master
主要从这三个方面入手:
- 数据库
- PHP代码
-
HTML代码&ThinkPHP视图模板代码
数据库使用mysql5.7。并且使用PHP最新版本PHP7,apache2.4,Ubuntu16.04
准备:
- 下载thinkphp5代码,放入apache目录,赋予777权限
chmod 777 -R tp5/
- 1
- 使用atom或者sublime或者PhpStorm打开你的项目,准备coding
- 建数据库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', '[email protected]', '山东省济南市****路', '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 */;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
先搭好框架,运行起来,再加强。
2 . 根据“看云”上的thinkphp5的手册写PHP代码
这里可以直接使用ThinkPHP5提供的可以直接生成代码的脚本,也可以手动建目录建文件
application目录结构
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('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('登录失败');
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
User.php
<?php
namespace app\index\model;
use think\Model;
class User extends Model{
protected $pk = 'user_id';//设置主键
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3 . View代码HTML
使用原生HTML、CSS未使用前段框架
效果图:
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>
<div 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>
<div>{:captcha_img()}</div>
</dt>
<dt>
<p><input type="submit" value="登录"></p>
</dt>
</dl>
</form>
</div>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 看了ThinkPHP5的手册,自己还没解决验证码问题。
- ThinkPHP的调试工具里边可以直接看到数据库密码,用户提交的密码,虽说自己使用的POST提交表单。
- 登录之后需要做Session,写登录日志,记录登录时间、IP等信息
- 还有一些安全问题…