PHP MYSQL简易交互式站点开发

目的:使用PHPMysqL模拟权限管理系统的实现

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

实现思路

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

具体实现

1.登陆页面

rush:xhtml;">
用户名:

效果如下:

这里写图片描述

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

rush:PHP;"> //登陆处理 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,'user_name'); $password = MysqL_result($result,'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); }//登陆处理结束

输入错误提醒函数

rush:js;">

错误提醒效果图:

这里写图片描述

3.成功登陆之后显示数据库中所有用户信息和当前登陆用户名

rush:PHP;"> // 获取登陆名 session_start(); $NAME = $_SESSION['user_name']; // 连接数据库获取数据并显示 function display() { global $NAME; $db = MysqL_connect("localhost","123456"); MysqL_select_db("linyimin",$db); $sql = "select * from admin_info"; $result = MysqL_query($sql); // 显示信息表 echo "

当前用户:$NAME

"; echo "
"; // 添加链接 echo "
"; // 修改添加超连接 echo "
"; // 删除链接 echo ""; echo "
"; // 表头 echo "管理员权限表"; echo ""; while($row = MysqL_fetch_row($result)) { // 显示管理员信息并通过超链接调用处理函数 echo "MysqL_close($db); }

显示效果如下:

这里写图片描述

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

修改添加页面

rush:xhtml;">

效果如下:

这里写图片描述

删除页面

rush:xhtml;">
删除');"> 姓名: 删除">

效果图如下:

这里写图片描述

实现

rush:PHP;"> // 调用修改函数 if ($_GET[update]) { modify("update"); } // 调用添加函数 elseif($_GET[add]) { modify("add"); } elseif($_GET[delete]) { modify("delete"); }

modify()函数的实现

rush:PHP;"> // 修改数据函数 /* 点击修改链接跳转修改页面 表单中,名字项指定要修改记录 权限和职务项为可修改内容 */ 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()函数的实现

rush:PHP;"> // 判断修改用户名是否存在和该用户是否具有权限 function judge($operation) { global $NAME; // 修改用户名 $user_name = $_POST['user_name']; // 连接数据库获取数据 $db = MysqL_connect("localhost",$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,'pemission'); // 没有root权限,报错 if(strcmp($pemission,"root") != 0) { $user_name = $_POST['user_name']; echo ""; return 0; } else return 1; } }

常用技巧记录

1.利用session实现多个PHP文件使用同一个变量的方法

在定义该变量的文本中打开session,并把值存入session

rush:PHP;"> usersession_unset(); session_start(); $_SESSION['变量名'] = "值";

在使用该变量的文本中打开session并取出该变量

rush:PHP;"> session_start(); $NAME = $_SESSION['变量名'];

2.PHP连接MysqL数据库,并对数据库进行查找,添加删除操作

连接数据库

rush:sql;"> // 连接数据库 $db = MysqL_connect("url","用户名","密码"); // 选择数据库 MysqL_select_db("数据库名称",$db);

查找

rush:PHP;"> $sql = "select * from admin_info where 字段名 = \"查找值\""; $result = MysqL_query($sql); // 对查找返回结果进行操作 // 获取查找返回记录数条数 $num = MysqL_num_rows($result); // 获取查找结果第一条记录的user_name字段值 $user_name = MysqL_result($result,'user_name'); // 逐条取出查询记录 while($row = MysqL_fetch_row($result)) { 相关操作; }

插入

rush:sql;"> $sql = "insert into 数据表 (字段1,字段2,字段3) values ('值1','值2','值3')"; MysqL_query($sql);

删除

rush:sql;"> $sql = "delete from 数据表 where 字段名 = \"查找值\""; MysqL_query($sql); // 关闭数据库 MysqL_close($db);

3.表格提交前提醒

删除');">

4.在PHP调用javascript函数

rush:PHP;"> PHP echo ""; ?>

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


服务器优化必备:深入了解PHP8底层开发原理
Golang的网络编程:如何快速构建高性能的网络应用?
Golang和其他编程语言的对比:为什么它的开发效率更高?
PHP8底层开发原理揭秘:如何利用新特性创建出色的Web应用
将字符重新排列以形成回文(如果可能)在C++中
掌握PHP8底层开发原理和新特性:创建高效可扩展的应用程序
服务器性能优化必学:掌握PHP8底层开发原理
PHP8新特性和底层开发原理详解:优化应用性能的终极指南
将 C/C++ 代码转换为汇编语言
深入研究PHP8底层开发原理:创建高效可扩展的应用程序
C++程序查找法向量和迹
PHP8底层开发原理实战指南:提升服务器效能
重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
Golang的垃圾回收:为什么它可以减少开发人员的负担?
C++程序:将一个数组的所有元素复制到另一个数组中
Golang:构建智能系统的基石
为什么AI开发者应该关注Golang?
在C和C++中,逗号(comma)的用法是用来分隔表达式或语句
PHP8底层开发原理解析及新特性应用实例
利用PHP8底层开发原理解析新特性:如何构建出色的Web应用
display.PHP?delete=yes\">DELETE