問題の核心をできるだけ簡潔にまとめました。
簡単なスクリプト:
<?php
session_start();
$_SESSION['user']="logged";
次に上書きします
$_SESSION['user']=0;
$_SESSIONの内容を表示します
var_dump($_SESSION);
$_SESSION['user']が'0'であることを示しています-上書きされたばかりなので確かです
しかし、今見てください
if ($_SESSION['user']=="logged"){
echo "logged";
}
else{
echo "unlogged";
}
「ログに記録された」を出力します。
変数型の変更は表面的なものにすぎないようです。何が間違っているのかわかりません。型のチェックを含めるために===比較を使用する必要がありますか?