セッション中の値0がfalseに変換されてしまう問題
ページ
<br />
/*判断SESSION是否开启*/<br />
if(session_id() ? false : true)<br />
session_start();<br />
$_SESSION['uid'] = 0;<br />
$_SESSION['username'] = 'admin';<br />
ログイン後にコピー
Bページ
<br />
/*判断SESSION是否开启*/<br />
if(session_id() ? false : true)<br />
session_start();<br />
print_r($_SESSION);<br />
var_dump($_SESSION['uid']);<br />
ログイン後にコピー
ページ A を実行した後、ページ B を実行すると、ページ B は
を出力します。
<br />
Array ( [uid] => [username] => admin ) bool(false)<br />
ログイン後にコピー
Cookie のスコープは正常で、ローカル テストではクロスドメインの問題はありません。 2 つのページの session_id は同じであり、ページのエンコーディングも同じです。ページ A の $_SESSION['uid'] は int(0) ですが、ページ B は bool(false) です。何が問題だったのかわかりません。2 日間混乱しています。 。
-----解決策---------コードを通常通り実行します
------解決策--------------------一部のフレームワークは自分自身で session_start します。それを探してください。
------解決策----------------------
明らかに、あなたのフレームワークは $ _SESSION['uid に適していません'] が判断して処理しました
ニッチなものなのでゆっくり探してください