这篇文章主要介绍了关于php源码之搭建站点实现登录页面的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
主要:
站点搭建
实现登录页面
分析及改进
站点搭建
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 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 <p class="container"> 11 <p class="content"> 12 <form action="login.php" class="layui-form" method="post"> 13 <p class="layui-form-item"> 14 <h2>登录</h2> 15 </p><hr> 16 17 <p class="layui-form-item"> 18 <label class="layui-form-label">用户名:</label> 19 <p class="layui-input-block"> 20 <input type="text" name="username" class="layui-input" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" > 21 </p> 22 </p> 23 24 <p class="layui-form-item"> 25 <label class="layui-form-label">密 码:</label> 26 <p class="layui-input-block"> 27 <input type="password" name="pwd" required lay-verify="required" placeholder="请输入密码" class="layui-input"> 28 </p> 29 </p> 30 31 <p class="layui-form-item"> 32 <p class="layui-input-block"> 33 <button lay-submit class="layui-btn">登录</button> 34 <button type="reset" class="layui-btn layui-btn-primary">重置</button> 35 </p> 36 </p> 37 </form> 38 </p> 39 </p> 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中文网!
相关推荐:
以上是php源码之搭建站点实现登录页面的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

PHP是一种服务器端脚本语言,用于动态网页开发和服务器端应用程序。1.PHP是一种解释型语言,无需编译,适合快速开发。2.PHP代码嵌入HTML中,易于网页开发。3.PHP处理服务器端逻辑,生成HTML输出,支持用户交互和数据处理。4.PHP可与数据库交互,处理表单提交,执行服务器端任务。

PHP在过去几十年中塑造了网络,并将继续在Web开发中扮演重要角色。1)PHP起源于1994年,因其易用性和与MySQL的无缝集成成为开发者首选。2)其核心功能包括生成动态内容和与数据库的集成,使得网站能够实时更新和个性化展示。3)PHP的广泛应用和生态系统推动了其长期影响,但也面临版本更新和安全性挑战。4)近年来的性能改进,如PHP7的发布,使其能与现代语言竞争。5)未来,PHP需应对容器化、微服务等新挑战,但其灵活性和活跃社区使其具备适应能力。

PHP的核心优势包括易于学习、强大的web开发支持、丰富的库和框架、高性能和可扩展性、跨平台兼容性以及成本效益高。1)易于学习和使用,适合初学者;2)与web服务器集成好,支持多种数据库;3)拥有如Laravel等强大框架;4)通过优化可实现高性能;5)支持多种操作系统;6)开源,降低开发成本。

PHP没有死。1)PHP社区积极解决性能和安全问题,PHP7.x提升了性能。2)PHP适合现代Web开发,广泛用于大型网站。3)PHP易学且服务器表现出色,但类型系统不如静态语言严格。4)PHP在内容管理和电商领域仍重要,生态系统不断进化。5)通过OPcache和APC等优化性能,使用OOP和设计模式提升代码质量。

PHP和Python各有优劣,选择取决于项目需求。1)PHP适合Web开发,易学,社区资源丰富,但语法不够现代,性能和安全性需注意。2)Python适用于数据科学和机器学习,语法简洁,易学,但执行速度和内存管理有瓶颈。

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

在PHP中使用预处理语句和PDO可以有效防范SQL注入攻击。1)使用PDO连接数据库并设置错误模式。2)通过prepare方法创建预处理语句,使用占位符和execute方法传递数据。3)处理查询结果并确保代码的安全性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器