侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

PHP MYSQL简易交互式站点开发

php  /  管理员 发布于 7年前   194

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

general用户只能查看其他用户信息,不能进行修改,添加,和删除操作,root用户可以完成以上三种操作。

实现思路

1.在MySQL数据库中建立两张数据表。一张数据表保存用户名和密码,用于登陆验证,另一张保存用户权限等基本信息。
2.提交表单登陆时,先在数据库中查找该用户存不存在,若不存在,报错,存在,则验证密码,密码错误则报错,若密码正确,登陆显示所有存储在数据库中的用户信息和当前登陆用户名。
3.在用户进行添加,删除操作时,先判断权限是否足够,有权限则完成相应操作,修改数据库内容,否则提示没有权限

具体实现

1.登陆页面

用户名: 密码:

效果如下:

2.连接数据库对登陆名和密码进行验证

//登陆处理 if (isset($_POST['submit']))  {  // 用户名输入为空  if($_POST['user_name'] == '')  // 调用javascript函数动态提醒  echo "";// 密码输入为空  if($_POST['password'] == '')  // 调用javascript函数动态提醒  echo "";  // 用户名与密码均不为空  $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 "";  }  // 密码正确  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 "";  }  mysql_close($db);  }//登陆处理结束

输入错误提醒函数

错误提醒效果图:

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 "

当前用户:$NAME

"; echo "
"; // 添加超链接 echo "
"; // 修改添加超连接 echo "
"; // 删除超链接 echo "
"; echo "
ADD UPDATE DELETE
"; echo "
"; // 表头 echo "
"; echo "
"; while($row = mysql_fetch_row($result)) { // 显示管理员信息并通过超链接调用处理函数 echo ""; echo ""; echo ""; } echo "
管理员权限表
姓名权限职务
$row[0]$row[1]$row[2]
"; mysql_close($db);}

显示效果如下:

4.修改,删除,添加操作的实现

修改,添加页面

姓名: 权限: 职务:

效果如下:

删除页面

 
姓名:

效果图如下:

实现

// 调用修改函数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 "";  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 "";  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.表格提交前提醒


4.在php中调用javascript函数

javascript函数;";?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • 如何使用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开发的最简单在线题库(在线做题系统)完整案例


  • 上一条:
    PHP实现简单ajax Loading加载功能示例
    下一条:
    PHP面向对象程序设计类的定义与用法简单示例
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客