作者goodice (一水隔天涯)
看板PHP
標題[請益] 關於$session判斷會員權限問題
時間Wed Nov 6 09:27:55 2013
各位前輩好,小弟最近參考教學書裡製作一個留言版並結合書中會員系統
但在留言版首頁設定session值來判斷會員權限時出了點問題
我希望能將權限admin帶入管理頁面,而權限hr留在留言版首頁
非屬於上述兩項則回到會員系統
但我權限hr也會跟著進到管理頁面,且我不管打什麼網頁都會進入管理頁
懇請各位前輩指點迷津,謝謝
以下是我留言版首頁判斷權限的程式碼
header("Content-Type: text/html; charset=utf-8");
require_once("connMysql.php");
session_start();
$query_RecLogin = "SELECT `m_level` From `memberdata`";
$RecLogin = mysql_query($query_RecLogin);
$row_RecLogin=mysql_fetch_assoc($RecLogin);
$level = $row_RecLogin["m_level"];
$_SESSION["memberLevel"]=$level;
if($_SESSION["memberLevel"]=="admin"){
header("Location:admin.php");
}
elseif($_SESSION["memberLevel"]=="hr"){
header("Location:post.php");
}
else{
header("Location:
http://localhost/phpmember/index.php"); }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.8.88
→ s540421:query沒提供id去選出特定會員的m_level 11/06 09:39
→ gname:header 下面的 exit 咧? 11/06 09:40
→ goodice:感謝兩位前輩回答,已試過兩位的方法,但hr還是會到管理頁 11/06 10:12
→ MOONRAKER:echo $level看裡面是什麼東東 11/06 10:22
→ goodice:是admin! 可是我用hr登入 請問前輩是哪個環節出錯了!? 11/06 10:26
→ chigi:你仔細看看你的SQL, 裡面有包含你登入的資訊嗎? 11/06 11:02
→ amaderasu:問題出在你的SQL阿XD 你的where條件咧? 11/06 11:16
→ s540421:先假設你的登入頁面叫做login.php,因為網頁之間彼此獨立 11/06 11:46
→ s540421:,要讓其他頁面(如admin.php, post.php)明白目前使用者的 11/06 11:47
→ s540421:狀態就必須在login.php內加上能供其他頁面辨識的資料 11/06 11:48
→ goodice:感謝各位前輩的答覆 已經成功了! 真是太謝謝您們了 11/06 11:48
→ s540421:像是登入成功後,儲存user的id在session中,然後其他頁面 11/06 11:49
→ s540421:www 成功就好 11/06 11:49
→ gname:那... 到底是啥問題? 給大家聞香一下嘛~ 11/06 14:17
→ MOONRAKER:就問db一個傻問題 然後隨便撿db回答的第一行來用這樣 11/06 14:56
→ jhunkyoiori:你的SELECT永遠都抓第一筆資料 11/06 15:46
→ gname:感覺貼出來的程式碼有修過,不像永遠都抓第一筆的情況... 11/06 16:56
→ s540421:$query_RecLogin沒改過,你再仔細些 11/06 17:06
→ goodice:謝謝各位前輩的熱情回答,本來預計要貼修改後的程式碼以及 11/06 21:31
→ goodice:一些新的問題來請教各位前輩,但今天事情實在太多 11/06 21:32
→ goodice:明天進公司後再用回文方式請教各位,實在太感謝您們了 11/06 21:33
→ alog:不好意思..你網站之後處理sql 應該要用mysqli 11/07 01:09
→ alog:或 pdo class 11/07 01:09
→ alog:不然又會有其他的問題@-@ 11/07 01:09
推 dv2001:檢查的部分改用swich會好一點 11/07 06:47
→ MOONRAKER:請trace程式,不要用感覺的。 11/07 11:16
→ MOONRAKER:現在mysqli真的是基本要件了,不要再mysql_*了。 11/07 11:17