1. 程式人生 > >實現不同的用戶登錄到主界面後顯示不同的功能——權限管理

實現不同的用戶登錄到主界面後顯示不同的功能——權限管理

需要 tle 有一個 sta vertica font eth rules sql

登陸頁面 2.php

 1 <title>無標題文檔</title>
 2 </head>
 3 
 4 <body>
 5 <h1>登陸頁面</h1>
 6 
 7 <form action="1.php" method="post">
 8 <div>用戶名:<input type="text" name="uid" /></div>
 9 <div>密碼:<input type="password" name="pwd" /></
div> 10 <input type="submit" value="登錄" /> 11 </form> 12 </body> 13 </html>

登陸頁面的後臺處理頁面 1.php

 1 <?php
 2 session_start();
 3 $uid = $_POST["uid"];
 4 $pwd = $_POST["pwd"];
 5 
 6 require "./DBDA.class.php";
 7 $db = new DBDA();
 8 $sql = "select pwd from users where uid=‘{$uid
}‘"; 9 $mm = $db->strquery($sql); 10 11 if($mm==$pwd && !empty($pwd)) 12 { 13 //在跳轉頁面前要把用戶名存一下,因為這個用戶名在主頁面3.php裏面會使用到的。 14 $_SESSION["uid"] = $uid; 15 header("location:3.php"); 16 } 17 else 18 { 19 echo "用戶名和密碼錯誤!"; 20 }

主界面 3.php

 1 <title>無標題文檔</title>
 2
<style type="text/css"> 3 .list{ width:100px; height:35px; border:1px solid #0CF; 4 margin:0px 2px 0px 2px; text-align:center; vertical-align:middle; line-height:35px;} 5 </style> 6 </head> 7 8 <body> 9 <h1>主頁面</h1> 10 <!--對於不同的用戶登錄進來後它所擁有的功能是不一樣的,因為通過權限劃分了--> 11 <!--在後臺可以通過用戶名來查到它的角色,再通過它所擁有的角色可以查到它所擁有的功能--> 12 13 <!--這時候就要考慮下怎樣才能讓不同的人顯示出不同的功能--> 14 <!--還是用div來顯示菜單--> 15 <?php 16 //到這個主頁面了就說明是登陸過的,首先要知道這個登陸者是誰,可以從session裏面取到它的用戶名 17 session_start(); 18 //從session裏面取用戶名,如果他沒有登陸的話就不讓他訪問這個頁面。 19 //先定義一個uid為空 20 $uid=""; 21 //加個if判斷一下如果session裏面沒有存uid的話就讓他返回登陸頁面讓他登錄 22 if(empty($_SESSION["uid"])) 23 { 24 header("location:2.php"); 25 exit; //然後退出程序 26 } 27 28 29 //如果沒有走if的話就說明通過了登錄所以下面就要顯示主頁面裏該用戶擁有的功能 30 $uid = $_SESSION["uid"]; //這樣是取到了當前登陸者的用戶名 31 32 //取到用戶名之後,就要根據用戶名查角色,根據角色查功能 需要實現這麽一個步驟 33 //通過使用數據庫無關子查詢來實現這個步驟 34 //子查詢就是這個叫做外層查詢叫做父查詢,父查詢使用到的條件是子查詢的結果 35 36 require "./DBDA.class.php"; 37 $db = new DBDA(); 38 39 //最終我們是要得到功能的名稱 40 //因為一個用戶可以對應多種角色,每一種角色可以對應多種功能,所以code後面肯定不能寫"=",寫等於的話 41 //就只能查一個功能名稱 所以要用 in 42 43 $sql = "select * from rules where code in (select distinct ruleid from juesewithrules where jueseid in (select jueseid from userinjuese where userid = ‘{$uid}‘))"; 44 //通過這條SQL語句就可以去找到該人員下面所擁有的功能了 45 46 47 $arr = $db->query($sql); 48 //這個$arr數組裏面就是功能了 也就是這個登陸的人所擁有的功能了 49 //有功能了就遍歷一下這個數組然後數組裏面只要有一個功能就輸出一個div 50 foreach($arr as $v) 51 { 52 //在div裏面加一個class等於list來給每一個輸出的功能的div添加樣式 53 echo "<div code=‘{$v[0]}‘ class=‘list‘>{$v[1]}</div>"; 54 } 55 56 ?> 57 </body> 58 </html>

實現不同的用戶登錄到主界面後顯示不同的功能——權限管理