この Cookie の設定を解除する方法を理解する必要があります。これまで試したことはすべて失敗しました。
これは私が現在設定を解除している方法であり、機能していないようです。
setcookie("user_id", $user_id, time() - 7200);
これが私が設定した方法です:
setcookie("user_id", $user_id, time() + 7200);
set_session_from_cookie()
Cookieが設定されているかどうかを確認するこの関数を呼び出し、設定されている場合は、Cookieを使用して新しいセッションを開始します。
問題は、自分のページでこれを使用すると、ログアウトできないことです。これは、セッションの設定を解除できないためだと思います。
私がこの機能を持っている理由は、ユーザーがセッションを終了した後に覚えておきたい場合、Cookie を呼び出すことでセッションを再開できるからです。
function set_session_from_cookie()
{
if (isset($_SESSION['user_id'])) {
echo '';
} else {
$_SESSION['user_id']=$_COOKIE['user_id'];
}
}
ログアウト:
<?php
require'core.php';
session_destroy();
setcookie("user_id", "", time() - 7200);
header('Location:/social_learning/site_pages/starter-template.php');
次のコードで Cookie を設定します。
if ($rememberme == "on") {
$user_id = mysql_result($query_run, 0, 'id');
setcookie("user_id", $user_id, time() + 7200);
$_SESSION['user_id'] = $user_id;
redirect('home_page.php');
} else {
if ($rememberme == "") {
echo 'ok';
$user_id = mysql_result($query_run, 0, 'id');
echo $user_id;
$_SESSION['user_id'] = $user_id;
redirect('home_page.php');
}
}
作成した関数を使用せずに、保存した Cookie を使用してセッションを再開するにはどうすればよいですか? この機能により、ユーザーがログアウトできなくなっているようです。