php源碼建博客1--搭建站點-實現登錄頁面
阿新 • • 發佈:2018-06-30
普通 簡單實現 system32 頁面 apach display virt pre over
主要:
- 站點搭建
- 實現登錄頁面
- 分析及改進
一,站點搭建
1) 在apache安裝目錄下: 【conf\extra\httpd-vhosts.conf】加入站點配置
1 <VirtualHost *:80> 2 #站點根目錄 3 DocumentRoot "D:\htdocs\Demo" 4 #站點綁定的域名 5 ServerName www.test.com 6 #站點別名 7 ServerAlias test.com 8 <Directory "D:\htdocs\Demo"> 9#允許所有訪問 10 #allow from all 11 Require all granted 12 #允許分布式權限配置(允許重寫)(.htacess) 13 AllowOverride All 14 #不顯示站點目錄的文件結構 15 Options -indexes 16 </Directory> 17 </VirtualHost>
2) host文件添加域名解析。 host文件位置:【C:\Windows\System32\drivers\etc\hosts】
1 127.0.0.1 www.test.com test.com
3) 重啟apache。 完成站點配置。
二,實現登錄頁面
1)創建項目目錄blog 【D:\htdocs\Demo\blog】, 初始化git,並提交到碼雲
在項目目錄中右鍵》Git Bash 前提:已經安裝git
1 git init 2 git remote add origin https://gitee.com/NewbiesYang/young_blog 3 git pull origin master
2)用戶數據表pbg_users
1 CREATE TABLE `pbg_users` (2 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘用戶主鍵‘, 3 `username` varchar(20) NOT NULL COMMENT ‘用戶名‘, 4 `pwd` char(32) NOT NULL COMMENT ‘密碼‘, 5 `email` varchar(50) NOT NULL DEFAULT ‘‘ COMMENT ‘註冊郵箱‘, 6 `token_email` varchar(32) NOT NULL DEFAULT ‘‘ COMMENT ‘郵箱驗證‘, 7 `flag` tinyint(1) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘是否是管理員,1-管理員,2-普通用戶‘, 8 `created_at` datetime DEFAULT NULL COMMENT ‘註冊時間‘, 9 `updated_at` datetime DEFAULT NULL COMMENT ‘最後一次登錄時間‘, 10 `login_ip` varchar(20) NOT NULL DEFAULT ‘‘ COMMENT ‘最後登錄的ip地址‘, 11 `login_times` smallint(6) NOT NULL DEFAULT ‘0‘ COMMENT ‘登錄次數‘, 12 PRIMARY KEY (`id`), 13 UNIQUE KEY `username` (`username`), 14 UNIQUE KEY `email` (`email`) 15 ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
3) 登錄界面【login.html】
1 <!DOCTYPE html> 2 <html lang="zh-CN"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>登錄</title> 6 <link rel="stylesheet" type="text/css" href="layui/css/layui.css"> 7 <link rel="stylesheet" type="text/css" href="css/style.css"> 8 </head> 9 <body> 10 <div class="container"> 11 <div class="content"> 12 <form action="login.php" class="layui-form" method="post"> 13 <div class="layui-form-item"> 14 <h2>登錄</h2> 15 </div><hr> 16 17 <div class="layui-form-item"> 18 <label class="layui-form-label">用戶名:</label> 19 <div class="layui-input-block"> 20 <input type="text" name="username" class="layui-input" required lay-verify="required" placeholder="請輸入用戶名" autocomplete="off" > 21 </div> 22 </div> 23 24 <div class="layui-form-item"> 25 <label class="layui-form-label">密 碼:</label> 26 <div class="layui-input-block"> 27 <input type="password" name="pwd" required lay-verify="required" placeholder="請輸入密碼" class="layui-input"> 28 </div> 29 </div> 30 31 <div class="layui-form-item"> 32 <div class="layui-input-block"> 33 <button lay-submit class="layui-btn">登錄</button> 34 <button type="reset" class="layui-btn layui-btn-primary">重置</button> 35 </div> 36 </div> 37 </form> 38 </div> 39 </div> 40 <script type="text/javascript" src="layui/layui.js"></script> 41 <script> 42 layui.use(‘form‘, function(){ 43 var form = layui.form; 44 }); 45 </script> 46 </body> 47 </html>
4) 登錄頁面樣式調整【css/style.css】
1 @charset "UTF-8"; 2 3 body { 4 background-color: #1E9FFF; 5 } 6 7 /*登錄*/ 8 .container { 9 position: absolute; 10 left: 50%; 11 top:50%; 12 width: 500px; 13 margin-left: -250px; 14 margin-top: -200px;" 15 } 16 .content{ 17 background: #ffffff; 18 padding: 20px; 19 border-radius: 4px; 20 box-shadow: 5px 5px 50px #444444; 21 }查看樣式表
5)登錄操作: 處理登錄信息 【login.php】
1 <?php 2 /** 3 * 登錄數據處理 4 * User: young 5 */ 6 header("content-type:text/html;charset=utf-8"); 7 //1-接收登錄信息 8 $data = array(); 9 $data[‘username‘] = trim($_POST[‘username‘]); 10 $data[‘pwd‘] = trim($_POST[‘pwd‘]); 11 12 //2-連接數據庫 13 $conn = @mysql_connect(‘localhost‘,‘root‘,‘root‘) or die(‘連接數據庫失敗!‘); 14 // mysql_set_charset("utf8"); 15 // mysql_select_db("web"); 16 mysql_query(‘set names utf8‘,$conn); 17 mysql_query(‘use web‘,$conn); 18 19 //3-查詢數據庫 校驗登錄信息 20 $sql = "select username,pwd from pbg_users where username=‘{$data[‘username‘]}‘"; 21 $res = mysql_query($sql,$conn); 22 23 //4-登錄結果提示信息 24 if($res != false){ 25 $user = mysql_fetch_array($res); 26 if( $user[‘pwd‘] == md5($data[‘pwd‘]) ){ exit(‘登錄成功‘); } 27 } 28 echo "用戶名或密碼不正確!"; 29 header(‘refresh:3; url=login.html‘);點擊查看
6)登錄界面效果
三, 分析改進
1)準備優化
- 文件目錄結構,實現MVC結構
- 訪問形式: 實現單入口文件訪問
2)提交代碼:
1 git add -A 2 git commit -m "第一次提交 && 登錄頁" 3 git push origin master
查看本項目源碼: https://gitee.com/NewbiesYang/young_blog
小結:本次主要完成:
1. 站點配置
2. 登錄數據表和登錄頁制作,登錄邏輯簡單實現
3. 下一步優化改進
php源碼建博客1--搭建站點-實現登錄頁面