目的:使用PHP和MYSQL模拟权限管理系统的实现

general用户只能查看其他用户信息,不能进行修改,添加,和删除操作,root用户可以完成以上三种操作。
实现思路
1.在MySQL数据库中建立两张数据表。一张数据表保存用户名和密码,用于登陆验证,另一张保存用户权限等基本信息。
2.提交表单登陆时,先在数据库中查找该用户存不存在,若不存在,报错,存在,则验证密码,密码错误则报错,若密码正确,登陆显示所有存储在数据库中的用户信息和当前登陆用户名。
3.在用户进行添加,删除操作时,先判断权限是否足够,有权限则完成相应操作,修改数据库内容,否则提示没有权限
具体实现
1.登陆页面
<center> <form method="post" action="<?php echo $_SERVER['SCRIPT_NAME'] ?>"> 用户名: <input type="text" name="user_name"> 密码: <input type="text" name="password"> <input type="Submit" name="submit" value="登陆"> </form> </center>
效果如下:
2.连接数据库对登陆名和密码进行验证
//登陆处理
if (isset($_POST['submit']))
{
// 用户名输入为空
if($_POST['user_name'] == '')
// 调用javascript函数动态提醒
echo "<script type='text/javascript'>dis_alert(\"用户名\",1);</script>";// 密码输入为空
if($_POST['password'] == '')
// 调用javascript函数动态提醒
echo "<script type='text/javascript'>dis_alert(\"密码\",1);</script>";
// 用户名与密码均不为空
$user_name = $_POST['user_name'];
//链接数据库,从中读出用户名和密码
$db = mysql_connect("localhost", "root", "123456");
mysql_select_db("linyimin", $db);
$result = mysql_query("select * from login where user_name = '$user_name'");
$num = mysql_num_rows($result);
//判断用户输入的用户名存在,验证密码
if($num != 0)
{
$user_name = mysql_result($result,0,'user_name');
$password = mysql_result($result,0,'password');
if(strcmp($password,$_POST['password']) != 0)
{
echo "密码错误";
//密码错误,报错
$password = $_POST['password'];
echo "<script type='text/javascript'>dis_alert('密码错误',3);</script>";
}
// 密码正确
else
{
session_unset();
session_start();
$_SESSION['user_name'] = $_POST[user_name];
header("Location:http://localhost/display.php");
exit;
}
}
// 用户输入的用户名不存在,报错
else if($num == 0)
{
// 用户名不存在,报错
$user_name = $_POST['user_name'];
echo "<script type='text/javascript'>dis_alert(\"$user_name\",2);</script>";
}
mysql_close($db);
}//登陆处理结束
输入错误提醒函数
<script type="text/javascript">
// 登陆错误提醒
function dis_alert(var1, var2)
{
// 用户名和密码不能为空提醒
if(var2 == 1)
{
alert(var1 + " 不能为空,请重新输入");
history.back(-1);
}
// 用户名不存在错误提醒
if(var2 == 2)
{
alert("该用户名 " + var1 + " 不存在,请重新输入");
history.back(-1);
}
// 密码错误提醒
if(var2 == 3)
{
alert("密码错误,请重新输入");
history.back(-1);
}
}
</script>
错误提醒效果图:
3.成功登陆之后显示数据库中所有用户信息和当前登陆用户名
// 获取登陆名
session_start();
$NAME = $_SESSION['user_name'];
// 连接数据库,获取数据并显示
function display()
{
global $NAME;
$db = mysql_connect("localhost", "root", "123456");
mysql_select_db("linyimin",$db);
$sql = "select * from admin_info";
$result = mysql_query($sql);
// 显示信息表
echo "<h3 align=right color=#FFFFFF> 当前用户:$NAME</h6>";
echo "<table border = 0 align = center width = 1000></br>";
// 添加超链接
echo "<tr align = center><th> <a href =\"display.php?add=yes\">ADD</a></th><br>";
// 修改添加超连接
echo "<th> <a href =\"display.php?update=yes\">UPDATE</a></th><br>";
// 删除超链接
echo "<th> <a href =\"display.php?delete=yes\">DELETE</a></th></tr><br>";
echo "</table>";
echo "<table border = 2 align = center width = 1000></br>";
// 表头
echo "<tr><th colspan=\"3\">管理员权限表</th></tr><br>";
echo "<tr align = center><td>姓名</td><td>权限</td><td>职务</td></tr><br>";
while($row = mysql_fetch_row($result))
{
// 显示管理员信息并通过超链接调用处理函数
echo "<tr align = center><td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "<td>$row[2]</td></tr>";
}
echo "</table>";
mysql_close($db);
}
显示效果如下:
4.修改,删除,添加操作的实现
修改,添加页面
<center> <form method="post" action="<?php echo $_SERVER['URL'] ?>"> 姓名: <input type="text" name="user_name"> 权限: <input type="text" name="pemission"> 职务: <input type="text" name="position"> <input type="Submit" name="update" value="提交"> </form> </center>
效果如下:
删除页面
<center>
<form method="post" action="<?php echo $_SERVER['URL'] ?>" onsubmit="return confirm('请确认删除');">
姓名: <input type="text" name="user_name">
<input type="submit" name="update" value="删除">
</center>
效果图如下:
实现
// 调用修改函数
if ($_GET[update])
{
modify("update");
}
// 调用添加函数
elseif($_GET[add])
{
modify("add");
}
elseif($_GET[delete])
{
modify("delete");
}
modify()函数的实现
// 修改数据函数
/*
点击修改超链接,跳转到修改页面
表单中,名字项指定要修改记录
权限和职务项为可修改内容
*/
function modify($operation)
{
if(isset($_POST['update']))
{
// 有root权限修改,修改
if($operation == "update" && judge("update"))
{
$user_name = $_POST[user_name];
$sql = "UPDATE admin_info SET pemission = '$_POST[pemission]', position ='$_POST[position]' WHERE user_name = '$user_name'";
mysql_query($sql);
mysql_close($db);
display();
}
// 添加
elseif(judge("add") && $operation == "add")
{
$user_name = $_POST[user_name];
$sql = "insert into admin_info (user_name, pemission, position) values ('$_POST[user_name]','$_POST[pemission]','$_POST[position]')";
mysql_query($sql);
mysql_close($db);
display();
}
// 删除
elseif(judge("delete") && $operation == "delete")
{
$user_name = $_POST[user_name];
// 获取确认情况
$sql = "delete from admin_info where user_name = \"$user_name\"";
mysql_query($sql);
}
}
}
judge()函数的实现
// 判断修改用户名是否存在和该用户是否具有权限
function judge($operation)
{
global $NAME;
// 修改用户名
$user_name = $_POST['user_name'];
// 连接数据库,获取数据
$db = mysql_connect("localhost", "root", "123456");
mysql_select_db("linyimin",$db);
// 该用户是否存在
$sql = "select * from admin_info where user_name = \"$user_name\"";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
// 输入名称不存在
if ($num == 0 && $operation != "add")
{
$user_name = $_POST['user_name'];
echo "<script type='text/javascript'>dis_alert(\"$user_name\",2);</script>";
return 0;
}
else
{
// 判断有没有权限(只有root权限可以修改)
$sql = "select * from admin_info where user_name = \"$NAME\"";
$result = mysql_query($sql);
$pemission = mysql_result($result,0,'pemission');
// 没有root权限,报错
if(strcmp($pemission,"root") != 0)
{
$user_name = $_POST['user_name'];
echo "<script type='text/javascript'>dis_alert(\"$user_name\",1);</script>";
return 0;
}
else
return 1;
}
}
常用技巧记录
1.利用session实现多个php文件使用同一个变量的方法
在定义该变量的文本中打开session,并把值存入session
usersession_unset(); session_start(); $_SESSION['变量名'] = "值";
在使用该变量的文本中打开session并取出该变量
session_start(); $NAME = $_SESSION['变量名'];
2.PHP连接MYSQL数据库,并对数据库进行查找,添加,删除操作
连接数据库
// 连接数据库
$db = mysql_connect("url", "用户名", "密码");
// 选择数据库
mysql_select_db("数据库名称",$db);
查找
$sql = "select * from admin_info where 字段名 = \"查找值\"";
$result = mysql_query($sql);
// 对查找返回结果进行操作
// 获取查找返回记录数条数
$num = mysql_num_rows($result);
// 获取查找结果第一条记录的user_name字段值
$user_name = mysql_result($result,0,'user_name');
// 逐条取出查询记录
while($row = mysql_fetch_row($result))
{
相关操作;
}
插入
$sql = "insert into 数据表 (字段1, 字段2, 字段3) values ('值1','值2','值3')";
mysql_query($sql);
删除
$sql = "delete from 数据表 where 字段名 = \"查找值\""; mysql_query($sql); // 关闭数据库 mysql_close($db);
3.表格提交前提醒
<form method="post" action="url" onsubmit="return confirm('请确认删除');">
4.在php中调用javascript函数
<?php echo "<script type='text/javascript'>javascript函数;</script>"; ?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# PHP
# MYSQL
# 交互式站点
# 如何使用jQuery+PHP+MySQL来实现一个在线测试项目
# php+mysql结合Ajax实现点赞功能完整实例
# PHP+MYSQL会员系统的开发实例教程
# PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
# PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
# PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
# PHP与MySQL开发的8个技巧小结
# php+mysql开发的最简单在线题库(在线做题系统)完整案例
# 不存在
# 报错
# 为空
# 数据库中
# 连接数据库
# 超链接
# 该用户
# 重新输入
# 表单
# 请确认
# 没有权限
# 是否存在
# 字段名
# 变量名
# 多个
# 管理系统
# 三种
# 并对
# 两张
# 用户可以
相关文章:
淘宝制作网站有哪些,淘宝网官网主页?
如何高效配置香港服务器实现快速建站?
完全自定义免费建站平台:主题模板在线生成一站式服务
网站制作费用多少钱,一个网站的运营,需要哪些费用?
,网站推广常用方法?
建站之星下载版如何获取与安装?
网页设计网站制作软件,microsoft office哪个可以创建网页?
常州自助建站费用包含哪些项目?
建站168自助建站系统:快速模板定制与SEO优化指南
如何通过万网虚拟主机快速搭建网站?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
建站之星代理如何优化在线客服效率?
建站之星安装后界面空白如何解决?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
已有域名能否直接搭建网站?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
家具网站制作软件,家具厂怎么跑业务?
内网网站制作软件,内网的网站如何发布到外网?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
在线教育网站制作平台,山西立德教育官网?
家庭建站与云服务器建站,如何选择更优?
股票网站制作软件,网上股票怎么开户?
制作公司内部网站有哪些,内网如何建网站?
网站制作难吗安全吗,做一个网站需要多久时间?
如何确保西部建站助手FTP传输的安全性?
中山网站推广排名,中山信息港登录入口?
深圳网站制作的公司有哪些,dido官方网站?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
定制建站流程步骤详解:一站式方案设计与开发指南
如何用狗爹虚拟主机快速搭建网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
高性价比服务器租赁——企业级配置与24小时运维服务
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
网站制作模板下载什么软件,ppt模板免费下载网站?
做企业网站制作流程,企业网站制作基本流程有哪些?
如何通过云梦建站系统实现SEO快速优化?
外贸公司网站制作哪家好,maersk船公司官网?
如何快速打造个性化非模板自助建站?
建站之星安装后如何配置SEO及设计样式?
高端网站建设与定制开发一站式解决方案 中企动力
网站app免费制作软件,能免费看各大网站视频的手机app?
如何通过山东自助建站平台快速注册域名?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
个人网站制作流程图片大全,个人网站如何注销?
简历在线制作网站免费版,如何创建个人简历?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。