这里有新鲜出炉的Mysql教程,程序狗速度看过来!
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
这篇文章主要为大家详细介绍了PHP MYSQL简易交互式站点开发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目的:使用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.表格提交前提醒
4.在php中调用javascript函数
- <?php
- echo "<script type='text/javascript'>javascript函数;</script>";
- ?>
来源: http://www.phperz.com/article/17/0831/340782.html