2016-11-14 8 views
0
このコードで

if ((array_key_exists("id", $_SESSION) AND $_SESSION['id']) OR (array_key_exists("id", $_COOKIE) AND $_COOKIE['id'])) { 

    header("Location: loggedPage.php"); 

} 

私はそれらの間に別のを知りません。誰かが私にそれを説明することはできますか?

おかげ

ミンPhuc

+0

最初のチェックにisset()と真を返しますです。 2番目の値は、値が真実であるかどうかをチェックします(0、null、またはfalseではない)。 – aynber

+0

コードが何をしているのか、セッションとCookieの違いを知りたいのですか? – icecub

+0

あなたはクッキーがクライアント側で操作できることを知っていますか?最初のコメントはあなたの質問に対する答えではなく、これはあなたのコードに対するコメントです。 – JOUM

答えて

0
array_key_exists(“id”, $_SESSION) : 

IDキーが$ _SESSION(配列)に存在し、trueまたはfalseを返すかどうか、このラインをチェックします。

$_SESSION['id']) : 

この行は、セッション中にIDの値を返すか、キーがキーを運ぶかもしれないどのような値で思いやりのない、アレイに存在するか否かNULL

0

array_key_exists()チェックを返します。それはfalse、null、0などを持ちます。

if($_SESSION['ID'])は、変数の内容を返します。その後、ブール値としてキャストされます。

isset()array_key_exists()よりも高速であることが証明されています。両者の唯一の違いは、$key => nullは、キーが存在することを確認するためにarray_key_exists()