成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP MYSQL簡易交互式站點開發
全站頭部文字 我要出現在這里
PHP MYSQL簡易交互式站點開發 709 2024-01-18   

目的:使用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 ;
 // 修改添加超連接
 echo "<th> <a ;
 // 刪除超鏈接
 echo "<th> <a ;
 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>";
?>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 活动评价| 姐姐的秘密电影| 龙咁威| 南果步| 第一财经现场直播| 女同视频在线| 少爷和我| 杨梵| free gay movies| 黄梅戏龙女全剧播放| 摇曳庄的幽奈小姐| 安娜卡列琳娜| 女人妣| 痛风能吃的菜一览表| 电影《kiskisan》在线播放| 小镇姑娘电影高清观看| mariaarredondo| 吉泽明步 番号| 哈尔的移动城堡电影| 烽火流金电视剧免费观看| ss培养基| 林正英电影大全免费看| 中转停留| 飞龙猛将演员表| 龚婉怡| 想你的时候问月亮男声沙哑版| 胎儿生长指标对照表| 台湾1895| 苏教版二年级下册数学| 在线观看高清电影| 赖小子在线观看完整视频高清| 无锡电视台| 二年级拍手歌生字组词| 一路狂奔| 风月宝鉴电影剧情解析| 七年级下册语文谁是最可爱的人笔记| 美女自卫网站| 古天乐电影全部作品免费观看| 美腿丝袜高跟三级视频| 夜生活女王之霞姐| zafira|

?。。≌鹃L長期在線接!??!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103