2010-05-25 46 views
0

請給我一個關於如何根據登錄人員顯示頁面中的元素的想法。例如,用戶或管理員。 我在想是這樣的,但我得到一個解析錯誤,我該怎麼缺少這個代碼?:如何根據登錄的用戶更改頁面中的元素

編輯:

<?php 

session_start(); 

if (!(isset($_SESSION['loginAdmin']) && $_SESSION['loginAdmin'] != '')) { 
header ("Location: loginam.php"); 
} 

else if (!(isset($_SESSION['loginAdmin']) && $_SESSION['loginAdmin'] =='')) { 
               include('head2.php'); 
                } 


else if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) { 
header ("Location: login.php"); 
} 

else if (!(isset($_SESSION['login']) && $_SESSION['login'] =='')) { 
              include('head3.php'); 
                }  

?>  

請幫幫忙,有沒有錯誤,但它不能正常工作正常。每當我嘗試訪問我擁有此代碼的頁面時。並以用戶身份登錄。它重定向到loginam.php(管理員將登錄的頁面)。但是,當我以管理員身份登錄時,沒有任何問題。它正常工作。我該怎麼辦?

+0

如果你想用一個解析錯誤幫助,那麼它通常是一個好主意,包括實際的錯誤消息:) – Chris 2010-05-25 10:02:49

回答

2

使用

if (condition) 
{ 

} 
else if (condition) { 

} 

也只是爲了讓事情變得更簡單..你可以試試..

function is_admin() { 

if(isset($_SESSION['loginAdmin']) && $_SESSION['loginAdmin']) 
    return true; 
} else { 
    return false; 
} 
} 

,然後檢查

if(is_admin()) { 
///admin block 
} else { 
//admin login 
} 



if(is_user()) { 
///user block 
} else { 
//user login 
} 
2

if else無效。這是else if

除此之外,如果您將解析器錯誤與您的代碼一起發佈,將會有所幫助。

在打開它之前,您還沒有關閉您的<?php聲明。

+0

PHP有elseif所以沒有其他需要如果:) – AntonioCS 2010-05-25 10:13:45

1

因爲您的代碼無效。

他是修剪代碼:

<?php 
session_start(); 

if (!isset($_SESSION['loginAdmin']) && ($_SESSION['loginAdmin'] != '')) { 
    header ("Location: loginam.php"); 
} else { 
    include('head2.php'); 
} 

?> 
<?php 
if (!isset($_SESSION['login']) && ($_SESSION['login'] != '')) { 
    header ("Location: login.php"); 
} else { 
    include('head3.php'); 
} 
?>

支付很少注意的代碼。

+0

每當其他條件不成立時,我該如何避免發佈通知?我收到一個未定義的索引 – user225269 2010-05-25 10:32:41

+0

這已經被回答了十幾次了。 http://stackoverflow.com/questions/2891042/setting-default-value-of-superglobal – 2010-05-25 10:39:58

相關問題