您好,登錄后才能下訂單哦!
小編給大家分享一下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>
效果如下:
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ò)誤提醒效果圖:
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); }
顯示效果如下:
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>
效果如下:
刪除頁(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>
效果圖如下:
實(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è)資訊頻道!
免責(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)容。