1

現在、このコードはページ内にあります。

<?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 関数が機能し、そのユーザーのカスタム データが表示され、ログインしているゲストの情報も表示されるようにするにはどうすればよいですか? 私はこれについて頭を悩ませてきましたが、役に立ちませんでした。誰かが助けることができれば、それは大歓迎です。

4

2 に答える 2

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';
于 2012-10-07T07:30:49.217 に答える
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.';
?>
于 2012-10-07T07:31:23.833 に答える