ブラウザとのセッションの設定を解除できないという不明な問題が発生しています。
すべてのリクエストをチェックする私のコードは次のとおりです。
if (isset($_SESSION["logid"])) {
$log = TRUE;
$logid = $_SESSION["logid"];
$session_id = $_SESSION["sid"];
} else {
$log = FALSE;
}
if (!isset($_COOKIE["cook"])) {
if ($log) {
unset($_SESSION["logid"]);
unset($_SESSION["sid"]);
$log = false;
}
$expire = time() + 60 * 60 * 24 * 30 * 2;
$data = array(
"ip" => $_SERVER['REMOTE_ADDR'],
"browser" => $_SERVER['HTTP_USER_AGENT'],
"create_time" => $now
);
$result = $db->insert("cookies", $data);
$cookie_id = $db->lastid;
$cookie_id = my_encrypt($cookie_id);
setcookie("cook", $cookie_id, $expire, "/");
} else {
$cookie_id = $_COOKIE["cook"];
}
ログアウトするためのコードはここにあります
unset($_SESSION["logid"]);
unset($_SESSION["sid"]);
私はcookという名前のCookieを設定解除/期限切れにしたくありませんが、Cookieが手動で削除された場合、またはその他の理由で作成したいので、最初のブロックのコードでそれが行われます。