php之用户管理系统的实现!(从简单到复杂)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS AI 助手,专业版
简介:

规划图:

image

一、数据库的设计:


数据库的创建: create database empmanage;


管理员表Admin

create table admin(

Adm_id int primary key,

Adm_name varchar(32) not null,

Adm_password varchar(128) not null );


雇员表:emp

create table emp(

Emp_id int primary key auto_increment,

Emp_name varchar(64) not null,

Emp_grade tinyint,

Emp_email varchar(64) not null,

Emp_salary float

);



添加点数据表里:


insert into emp (Emp_name,Emp_grade,Emp_email,Emp_salary) values ('jiping',1,'gjp@lonlife.net',3000);

添加多条,作为后面的分页使用!


insert into admin values(100,'admin',md5('admin'));

image

二、登陆的实现:


1种方法:简单的实现,不到数据库验证!

第一个界面:login.php

<html>

<head>

<metahttp-equiv="content-type"content="text/html;charset=utf-8">

</head>

<h1>管理员登陆系统</h1>

<formaction="loginprocess.php"method="post">

<table>

<tr><td>用户id</td><td><inputtype="text"name="id"/></td></tr>

<tr><td>&nbsp;</td><td><inputtype="password"name="password"/></td></tr>

<tr>

<td><inputtype="submit"value="用户登录"/></td>

<td><inputtype="reset"value="重新填写"/></td>

</tr>

</table>

</form>

<?php

if(!empty($_GET['errno'])){

$errno=$_GET['errno'];

if($errno=='1'){

echo "<br/><font color='red' size='3'>你的用户名和密码有误";

}

}

?>

</html>

第二个界面:loginprocess.php

<?php

//接收用户的数据

$id=$_POST['id'];

$password=$_POST['password'];

if($id=="100" && $password=="123"){

//合法:跳转到empManage.php

header("Location: empManage.php");

exit();

}else {

header("Location: login.php?errno=1");

}

第三个界面:empManage.php

<?php

echo "登录成功";

测试结果:

登陆成功的话:

image

image

故意输错,在下面出现提示!

image

第2种方法:到数据库验证:

image

2种方法的实现:loginprocess.php

<?php

//接收用户的数据

$id=$_POST['id'];

$password=$_POST['password'];

//2.到数据库进行验证

$conn=mysql_connect("localhost","root","123456");

if(!$conn)

{

die("连接失败".mysql_errno());

}

mysql_query("set names utf8",$conn) or die(mysql_errno());

mysql_select_db("empmanage",$conn) ordie(mysql_errno());

$sql="select Adm_password from admin where Adm_id=$id";

$res=mysql_query($sql,$conn);

if($row=mysql_fetch_assoc($res))

{

//查询到id,下面要比对密码

if($row['Adm_password']==md5($password))

{

header("Location: empManage.php");

exit();

}

}

header("Location: login.php?errno=1");

exit();

//关闭资源

mysql_free_result($res);

mysql_close($conn);


测试结果:

先看下数据库中的管理员表:

image

image

image


三、如何出现,欢迎某个用户登录的界面!


实现方法,用Get 方式传递

(注意:数据库的选取字段)loginprocess.php

$sql="select Adm_password,Adm_name from admin where Adm_id=$id";

$res=mysql_query($sql,$conn);

if($row=mysql_fetch_assoc($res))

//查询到id,下面要比对密码

if($row['Adm_password']==md5($password))

{$name=$row['Adm_name'];

header("Location: empManage.php?name=$name");

exit();

}

}

empManage.php

<?php

echo "欢迎".$_GET['name']."登录成功";

image


四、现在实现:整体设计

image

这里的empMain.php empManage.php来代替

<html>

<head>

<metahttp-equiv="content-type"content="text/html;charset=utf-8">

</head>

<?php

echo "欢迎".$_GET['name']."登录成功";

echo "<br/><a href='login.php'>返回登陆界面";

?>

<h1>主界面</h1>

<ahref='emplist.php'>管理用户</a><br/>

<ahref='#'>添加用户</a><br/>

<ahref='#'>查询用户</a><br/>

<ahref='#'>退出系统</a><br/>

</html>

image

image

image

image

image

image

image

Emplist.php 页面代码

<html>

<head>

<metahttp-equiv="content-type"content="text/html charset=utf-8">

</head>

<title>雇员信息列表</title>

<?php

//显示所有用户的信息(表格)查询数据,在数据库

$conn=mysql_connect("localhost","root","123456");

if(!$conn)

{

die("连接失败".mysql_errno());

}

mysql_query("set names utf8",$conn) or die(mysql_errno());

mysql_select_db("empmanage",$conn) ordie(mysql_errno());

$pageSize=3;

$rowCount=0;

$pageNow=1;//如果没有传送这个参数的话,默认值为1

if(!empty($_GET['pageNow']))

$pageNow=$_GET['pageNow'];}

$pageCount=0;

$sql="select count(Emp_id) from emp";

$res1=mysql_query($sql);

if($row=mysql_fetch_row($res1))

{$rowCount=$row[0];

}

$pageCount=ceil($rowCount/$pageSize);

/*if($rowCount%$pagesize==0){

$pageCount=$rowCount/$pagesize;

}else{

$pageCount=ceil($rowCount/$pagesize);

}*/

$sql="select * fromemp limit ".($pageNow-1)*$pageSize.",$pageSize";

$res=mysql_query($sql,$conn);

echo "<table border='1px' bordercolor='green' cellspacing='0px' ;";

echo "<tr><th>Emp_id</th><th>Emp_name</th><th>Emp_grade</th><th>Emp_email</th><th>Emp_salary</th><th>修改用户</th><th>删除用户</th></tr>";

//循环显示用户的信息

while($row=mysql_fetch_assoc($res))

{

echo"<tr><td>{$row['Emp_id']}</td><td>{$row['Emp_name']}</td><td>{$row['Emp_grade']}</td><td>{$row['Emp_email']}</td><td>{$row['Emp_salary']}</td>".

"<td><a href='#'>修改用户</td><td><a href='#'>删除用户</td></tr>";

}

echo "<h1>雇员信息列表</h1>";

echo "</table>";

//打印出页面的超链接

for($i=1;$i<=$pageCount;$i++)

{echo "<a href='emplist.php?pageNow=$i'>$i$nbsp ";

}

mysql_free_result($res);

mysql_close($conn);

?>

</html>

image


参考传智播客,做的笔记及其测试!

后面会有mvc的实现模式!(敬请关注!!!)




本文转自 gjp0731 51CTO博客,原文链接:http://blog.51cto.com/guojiping/1350962


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
514 11
|
8月前
|
机器学习/深度学习 人工智能 JSON
PHP从0到1实现 AI 智能体系统并且训练知识库资料
本文详解如何用PHP从0到1构建AI智能体,涵盖提示词设计、记忆管理、知识库集成与反馈优化四大核心训练维度,结合实战案例与系统架构,助你打造懂业务、会进化的专属AI助手。
1250 6
|
11月前
|
小程序 安全 关系型数据库
专业打造一款圈子源码软件系统 / 后端 PHP 搭建部署一样实现利益化
本教程详解基于PHP后端与Uni-app的小程序开发全流程,涵盖技术选型、环境搭建、源码导入、接口对接及功能实现。采用Laravel/Symfony框架,结合MySQL/PostgreSQL数据库,使用WebSocket实现实时通信,并集成IM SDK实现音视频聊天。前端使用Uni-app开发,支持跨平台运行。教程包含完整部署流程与安全优化方案,助力快速搭建高性能、安全稳定的小程序系统。
606 5
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
694 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
监控 安全 BI
医院不良事件管理系统,PHP不良事件系统源代码
医院不良事件管理系统(HAEMS)是医院质量管理体系的核心,用于系统化收集、报告、分析和处理各类不良事件及近似差错,以提升患者安全和运营效率。系统涵盖事件报告、调查分析、改进追踪、统计分析及知识库管理等功能模块,支持多渠道上报、根本原因分析(RCA)、改进措施闭环管理及多维度数据分析。同时,系统注重用户体验与数据安全,符合医疗行业法规标准,通过标准化接口实现与其他系统的无缝集成。HAEMS不仅是工具,更是推动医院安全文化与持续质量改进的核心引擎,助力构建更安全的医疗环境。
466 0
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
340 28
|
PHP
基于PHP开发的资源库系统源码
基于PHP开发的资源库系统源码
295 13
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
361 10
|
前端开发 测试技术 PHP
任务悬赏接单发布系统PHP源码
任务发布接单系统,目前最新最完善的一套源码,前后端全开源无加密,支持会员系统、 支持店铺认证 支持普通任务和线下任务 支持微信支付和支付宝支付 短信对接短信宝
697 13
|
JSON PHP 数据库
PHP成绩查询系统源码
PHP成绩查询系统源码
812 3