Tôi cần tìm ra cách bỏ đặt cookie này. Tất cả mọi thứ tôi đã cố gắng cho đến nay đã thất bại.làm thế nào để bỏ đặt cookie trong PHP?
Đây là cách tôi hiện đang hủy cài đặt và nó dường như không hoạt động.
setcookie("user_id", $user_id, time() - 7200);
Đây là cách tôi đặt nó:
setcookie("user_id", $user_id, time() + 7200);
tôi có chức năng này được gọi là set_session_from_cookie()
để kiểm tra nếu một cookie được thiết lập, và nếu nó được thiết lập, nó bắt đầu một phiên làm việc mới bằng cách sử dụng cookie.
Vấn đề là khi tôi sử dụng điều này trên trang của mình, tôi không thể đăng xuất. Tôi cho rằng điều này là do tôi không thể hủy đặt phiên.
Lý do tôi có chức năng này là nếu người dùng muốn được ghi nhớ sau khi họ kết thúc phiên, họ có thể khởi động lại phiên bằng cách gọi cookie.
function set_session_from_cookie()
{
if (isset($_SESSION['user_id'])) {
echo '';
} else {
$_SESSION['user_id']=$_COOKIE['user_id'];
}
}
Thoát:
<?php
require'core.php';
session_destroy();
setcookie("user_id", "", time() - 7200);
header('Location:/social_learning/site_pages/starter-template.php');
tôi đặt cookie của tôi với đoạn mã sau:
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');
}
}
Làm thế nào tôi có thể khởi động lại phiên sử dụng cookie lưu mà không sử dụng các chức năng mình đã tạo? Vì hàm này có vẻ khiến người dùng không thể đăng xuất được nữa.
là cookie của bạn cho là toàn bộ địa điểm? –
phải không? làm thế nào tôi có thể nói? – arboles
Không sử dụng thời gian tương đối để xóa cookie. Điều đó làm cho unsetting phụ thuộc vào đồng hồ của người dùng của bạn là chính xác. Sử dụng thời gian của '1', mà sẽ bắt tất cả mọi người nhưng những người có đồng hồ thực sự bị hỏng người nghĩ rằng đó là năm 1970. –