溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)

發(fā)布時(shí)間:2021-09-01 11:06:46 來(lái)源:億速云 閱讀:119 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

general用戶只能查看其他用戶信息,不能進(jìn)行修改,添加,和刪除操作,root用戶可以完成以上三種操作。

實(shí)現(xiàn)思路

1.在MySQL數(shù)據(jù)庫(kù)中建立兩張數(shù)據(jù)表。一張數(shù)據(jù)表保存用戶名和密碼,用于登陸驗(yàn)證,另一張保存用戶權(quán)限等基本信息。
2.提交表單登陸時(shí),先在數(shù)據(jù)庫(kù)中查找該用戶存不存在,若不存在,報(bào)錯(cuò),存在,則驗(yàn)證密碼,密碼錯(cuò)誤則報(bào)錯(cuò),若密碼正確,登陸顯示所有存儲(chǔ)在數(shù)據(jù)庫(kù)中的用戶信息和當(dāng)前登陸用戶名。
3.在用戶進(jìn)行添加,刪除操作時(shí),先判斷權(quán)限是否足夠,有權(quán)限則完成相應(yīng)操作,修改數(shù)據(jù)庫(kù)內(nèi)容,否則提示沒(méi)有權(quán)限

具體實(shí)現(xiàn)

1.登陸頁(yè)面

<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>

效果如下:

PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)

2.連接數(shù)據(jù)庫(kù)對(duì)登陸名和密碼進(jìn)行驗(yàn)證

//登陸處理
 if (isset($_POST['submit'])) 
 {
  // 用戶名輸入為空
  if($_POST['user_name'] == '')
  // 調(diào)用javascript函數(shù)動(dòng)態(tài)提醒
  echo "<script type='text/javascript'>dis_alert(\"用戶名\",1);</script>";// 密碼輸入為空
  if($_POST['password'] == '')
  // 調(diào)用javascript函數(shù)動(dòng)態(tài)提醒
  echo "<script type='text/javascript'>dis_alert(\"密碼\",1);</script>";
  // 用戶名與密碼均不為空
  $user_name = $_POST['user_name'];
  //鏈接數(shù)據(jù)庫(kù),從中讀出用戶名和密碼
  $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);
  //判斷用戶輸入的用戶名存在,驗(yàn)證密碼
  if($num != 0)
  {
  $user_name = mysql_result($result,0,'user_name');
  $password = mysql_result($result,0,'password');
  if(strcmp($password,$_POST['password']) != 0)
  {
   echo "密碼錯(cuò)誤";
   //密碼錯(cuò)誤,報(bào)錯(cuò)
   $password = $_POST['password'];
   echo "<script type='text/javascript'>dis_alert('密碼錯(cuò)誤',3);</script>";
  }
  // 密碼正確
  else
  {
   session_unset();
   session_start();
   $_SESSION['user_name'] = $_POST[user_name];
   header("Location:http://localhost/display.php");
   exit;
  }
  }
  // 用戶輸入的用戶名不存在,報(bào)錯(cuò) 
  else if($num == 0)
  {
  // 用戶名不存在,報(bào)錯(cuò)
  $user_name = $_POST['user_name'];
  echo "<script type='text/javascript'>dis_alert(\"$user_name\",2);</script>";
  }
  mysql_close($db); 
 }//登陸處理結(jié)束

輸入錯(cuò)誤提醒函數(shù)

<script type="text/javascript">

// 登陸錯(cuò)誤提醒
function dis_alert(var1, var2)
{
 // 用戶名和密碼不能為空提醒
 if(var2 == 1)
 {
 alert(var1 + " 不能為空,請(qǐng)重新輸入");
 history.back(-1);
 }
 // 用戶名不存在錯(cuò)誤提醒
 if(var2 == 2)
 {
 alert("該用戶名 " + var1 + " 不存在,請(qǐng)重新輸入");
 history.back(-1);
 }
 // 密碼錯(cuò)誤提醒
 if(var2 == 3)
 {
 alert("密碼錯(cuò)誤,請(qǐng)重新輸入");
 history.back(-1);
 }
}

</script>

錯(cuò)誤提醒效果圖:

PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)

3.成功登陸之后顯示數(shù)據(jù)庫(kù)中所有用戶信息和當(dāng)前登陸用戶名

// 獲取登陸名
session_start();
$NAME = $_SESSION['user_name'];
// 連接數(shù)據(jù)庫(kù),獲取數(shù)據(jù)并顯示
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 "<h4 align=right color=#FFFFFF> 當(dāng)前用戶:$NAME</h7>";
 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\">管理員權(quán)限表</th></tr><br>";
 echo "<tr align = center><td>姓名</td><td>權(quán)限</td><td>職務(wù)</td></tr><br>";
 while($row = mysql_fetch_row($result))
 {
 // 顯示管理員信息并通過(guò)超鏈接調(diào)用處理函數(shù)
 echo "<tr align = center><td>$row[0]</td>";
 echo "<td>$row[1]</td>";
 echo "<td>$row[2]</td></tr>";
 }
 echo "</table>";
 mysql_close($db);
}

顯示效果如下:

PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)

4.修改,刪除,添加操作的實(shí)現(xiàn)

修改,添加頁(yè)面

<center>
 <form method="post" action="<?php echo $_SERVER['URL'] ?>">
 姓名: <input type="text" name="user_name">
 權(quán)限: <input type="text" name="pemission">
 職務(wù): <input type="text" name="position">
 <input type="Submit" name="update" value="提交">
 </form>
</center>

效果如下:

PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)

刪除頁(yè)面

 <center> 
 <form method="post" action="<?php echo $_SERVER['URL'] ?>" onsubmit="return confirm('請(qǐng)確認(rèn)刪除');">
 姓名: <input type="text" name="user_name">
 <input type="submit" name="update" value="刪除">
</center>

效果圖如下:

PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)

實(shí)現(xiàn)

// 調(diào)用修改函數(shù)
if ($_GET[update]) 
{
 modify("update");
}
// 調(diào)用添加函數(shù)
elseif($_GET[add])
{
 modify("add");
}
elseif($_GET[delete])
{
 modify("delete");
}

modify()函數(shù)的實(shí)現(xiàn)

// 修改數(shù)據(jù)函數(shù)
/*
點(diǎn)擊修改超鏈接,跳轉(zhuǎn)到修改頁(yè)面
表單中,名字項(xiàng)指定要修改記錄
權(quán)限和職務(wù)項(xiàng)為可修改內(nèi)容
*/
function modify($operation)
{
 if(isset($_POST['update']))
 {
 // 有root權(quán)限修改,修改
 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];
  // 獲取確認(rèn)情況
  $sql = "delete from admin_info where user_name = \"$user_name\"";
  mysql_query($sql);
  }
 }
}

judge()函數(shù)的實(shí)現(xiàn)

// 判斷修改用戶名是否存在和該用戶是否具有權(quán)限
function judge($operation)
{
 global $NAME;
 // 修改用戶名
 $user_name = $_POST['user_name'];
 // 連接數(shù)據(jù)庫(kù),獲取數(shù)據(jù)
 $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);
 // 輸入名稱(chēng)不存在
 if ($num == 0 && $operation != "add")
 {
  $user_name = $_POST['user_name'];
  echo "<script type='text/javascript'>dis_alert(\"$user_name\",2);</script>";
  return 0;
 }
 else
 {
  // 判斷有沒(méi)有權(quán)限(只有root權(quán)限可以修改)
  $sql = "select * from admin_info where user_name = \"$NAME\"";
  $result = mysql_query($sql);
  $pemission = mysql_result($result,0,'pemission');
  // 沒(méi)有root權(quán)限,報(bào)錯(cuò)
  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實(shí)現(xiàn)多個(gè)php文件使用同一個(gè)變量的方法

在定義該變量的文本中打開(kāi)session,并把值存入session

usersession_unset();
session_start();
$_SESSION['變量名'] = "值";

在使用該變量的文本中打開(kāi)session并取出該變量

session_start();
$NAME = $_SESSION['變量名'];

2.PHP連接MYSQL數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行查找,添加,刪除操作

連接數(shù)據(jù)庫(kù)

// 連接數(shù)據(jù)庫(kù)
$db = mysql_connect("url", "用戶名", "密碼");
// 選擇數(shù)據(jù)庫(kù)
mysql_select_db("數(shù)據(jù)庫(kù)名稱(chēng)",$db);

查找

$sql = "select * from admin_info where 字段名 = \"查找值\"";
$result = mysql_query($sql);
// 對(duì)查找返回結(jié)果進(jìn)行操作
// 獲取查找返回記錄數(shù)條數(shù)
$num = mysql_num_rows($result);
// 獲取查找結(jié)果第一條記錄的user_name字段值
$user_name = mysql_result($result,0,'user_name');
// 逐條取出查詢記錄
while($row = mysql_fetch_row($result))
{
 相關(guān)操作;
}

插入

$sql = "insert into 數(shù)據(jù)表 (字段1, 字段2, 字段3) values ('值1','值2','值3')";
mysql_query($sql);

刪除

$sql = "delete from 數(shù)據(jù)表 where 字段名 = \"查找值\"";
mysql_query($sql);
// 關(guān)閉數(shù)據(jù)庫(kù)
mysql_close($db);

3.表格提交前提醒

<form method="post" action="url" onsubmit="return confirm('請(qǐng)確認(rèn)刪除');">

4.在php中調(diào)用javascript函數(shù)

<?php
echo "<script type='text/javascript'>javascript函數(shù);</script>";
?>

以上是“PHP中如何開(kāi)發(fā)MYSQL簡(jiǎn)易交互式站點(diǎn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI