《PHP實戰:PHP MYSQL簡易交互式站點開發》要點:
本文介紹了PHP實戰:PHP MYSQL簡易交互式站點開發,希望對您有用。如果有疑問,可以聯系我們。
目的:使用PHP和MYSQL模擬權限管理系統的實現PHP實戰
general用戶只能查看其他用戶信息,不能進行修改,添加,和刪除操作,root用戶可以完成以上三種操作.PHP實戰
實現思路PHP實戰
1.在MySQL數據庫中建立兩張數據表.一張數據表保存用戶名和密碼,用于登陸驗證,另一張保存用戶權限等基本信息.
2.提交表單登陸時,先在數據庫中查找該用戶存不存在,若不存在,報錯,存在,則驗證密碼,密碼錯誤則報錯,若密碼正確,登陸顯示所有存儲在數據庫中的用戶信息和當前登陸用戶名.
3.在用戶進行添加,刪除操作時,先判斷權限是否足夠,有權限則完成相應操作,修改數據庫內容,否則提示沒有權限PHP實戰
具體實現PHP實戰
1.登陸頁面PHP實戰
<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實戰
PHP實戰
2.連接數據庫對登陸名和密碼進行驗證PHP實戰
//登陸處理 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); }//登陸處理結束
輸入錯誤提醒函數PHP實戰
<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>
錯誤提醒效果圖:
PHP實戰
PHP實戰
3.成功登陸之后顯示數據庫中所有用戶信息和當前登陸用戶名PHP實戰
// 獲取登陸名 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); }
顯示效果如下:
PHP實戰
PHP實戰
4.修改,刪除,添加操作的實現
PHP實戰
修改,添加頁面PHP實戰
<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>
效果如下:
PHP實戰
PHP實戰
刪除頁面PHP實戰
<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>
效果圖如下:
PHP實戰
PHP實戰
實現PHP實戰
// 調用修改函數 if ($_GET[update]) { modify("update"); } // 調用添加函數 elseif($_GET[add]) { modify("add"); } elseif($_GET[delete]) { modify("delete"); }
modify()函數的實現PHP實戰
// 修改數據函數 /* 點擊修改超鏈接,跳轉到修改頁面 表單中,名字項指定要修改記錄 權限和職務項為可修改內容 */ 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()函數的實現PHP實戰
// 判斷修改用戶名是否存在和該用戶是否具有權限 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; } }
常用技巧記錄PHP實戰
1.利用session實現多個php文件使用同一個變量的方法PHP實戰
在定義該變量的文本中打開session,并把值存入sessionPHP實戰
usersession_unset(); session_start(); $_SESSION['變量名'] = "值";
在使用該變量的文本中打開session并取出該變量PHP實戰
session_start(); $NAME = $_SESSION['變量名'];
2.PHP連接MYSQL數據庫,并對數據庫進行查找,添加,刪除操作PHP實戰
連接數據庫PHP實戰
// 連接數據庫 $db = mysql_connect("url", "用戶名", "密碼"); // 選擇數據庫 mysql_select_db("數據庫名稱",$db);
查找PHP實戰
$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)) { 相關操作; }
插入PHP實戰
$sql = "insert into 數據表 (字段1, 字段2, 字段3) values ('值1','值2','值3')"; mysql_query($sql);
刪除PHP實戰
$sql = "delete from 數據表 where 字段名 = \"查找值\""; mysql_query($sql); // 關閉數據庫 mysql_close($db);
3.表格提交前提醒PHP實戰
<form method="post" action="url" onsubmit="return confirm('請確認刪除');">
PHP實戰
4.在php中調用javascript函數PHP實戰
<?php echo "<script type='text/javascript'>javascript函數;</script>"; ?>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持維易PHP.PHP實戰
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2229.html