您好,登錄后才能下訂單哦!
小編給大家分享一下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 "<h4 align=right color=#FFFFFF> 當前用戶:$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\">管理員權限表</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>"; ?>
以上是“PHP中如何開發MYSQL簡易交互式站點”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。