Мне нужно выяснить, как удалить этот файл 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, не используя созданную мной функцию? Поскольку функция, по-видимому, заставляет пользователя больше не выходить из системы.