0

こんにちは、このコード行に問題があります。

if($_SESSION['permission'] !=  "superadmin" || "admin"){
    //header("location:logout.php");
    echo $_SESSION['permission'];
}

アクセスレベルがスーパー管理者または 管理者でない場合はユーザーをログアウトする簡単な行ですが、それ以外の場合は || の後の「管理者」を無視します オペレーター。私が間違っている可能性があることについて何か助けていただければ幸いです。ありがとう。&& も試してみましたが、まだ動作しません。

4

4 に答える 4

2

if を次のように修正するだけです。

if($_SESSION['permission'] !=  "superadmin" &&  $_SESSION['permission'] != "admin"){

あなたのコードには2つの条件があります

$_SESSION['permission'] !=  "superadmin" || "admin"

これは次のように解釈されます。

$_SESSION['permission'] !=  "superadmin"
OR 
"admin"

そして条件

 "admin"

空の値がないため true と同等であり、常に if ステートメントを渡します

于 2013-04-08T07:27:07.613 に答える
0

正しいコード:

if($_SESSION['permission'] !=  "superadmin" && 
$_SESSION['permission'] !=  "admin" 
){
             //header("location:logout.php");
             echo $_SESSION['permission'];
        }
于 2013-04-08T07:26:10.527 に答える
0

これを試して

    if(($_SESSION['permission'] !=  'superadmin') && ($_SESSION['permission'] != 'admin'))   
     {
         //header("location:logout.php");
         echo $_SESSION['permission'];
    }
于 2013-04-08T07:27:16.093 に答える