2012-10-07 32 views
1

我的代碼目前在我的頁面內。歡迎來賓使用SQL表格

<?php 
     if ($admin->get_permissions()==3) 
     echo 'Welcome Administrator'; 
     elseif ($admin->get_permissions()==1) 
     echo 'Welcome User'; 
     else 
     echo 'Welcome Guest'; 

     ?> 

現在,如果你登錄爲管理員或它工作正常標準的用戶,但如果你正在訪問的網站作爲嘉賓則給出了錯誤

Call to a member function get_permissions() on a non-object in 

錯誤從這個腳本的開始處開始。我如何確保get_permissions函數對登錄的用戶有效,併爲他們顯示自定義數據,並顯示登錄的訪客的信息? 我一直在圍繞着我的腦子沒有用。如果有人能幫助它將非常感激。

+0

它與sql/mysql無關。刪除標籤。 – itachi

+0

我會認爲從SQL表中調用參數時SQL調用權限表是相關的。 –

+0

如果你這樣看,那麼你也可以用c,C++標記它,就像你使用php一樣。 – itachi

回答

1

看來,如果用戶沒有通過驗證是不是創建了$admin對象。要解決這個問題,你需要在用戶身份驗證上獨立實例化對象,或者引入不同的權限檢查,可能是這樣的:

<?php 
    if ($admin != null) 
    { 
     if ($admin->get_permissions()==3) echo 'Welcome Administrator'; 
     elseif ($admin->get_permissions()==1) echo 'Welcome User'; 
    } 
    else echo 'Welcome guest.'; 
?> 
+0

工作就像一個魅力。你是救生員。 –

2

對我來說,如果這個人是一個客人,看起來你不會啓動$ admin變量。你可以我們isset()函數,如:

if (!isset($admin)){ 
    echo 'Welcome Guest'; 
} 
elseif ($admin->get_permissions()==3) 
    echo 'Welcome Administrator'; 
elseif ($admin->get_permissions()==1) 
    echo 'Welcome User';