php重新生成cookie会话,会话和cookie,如果我销毁一个会话,cookie会消失吗? (PHP)...

这篇博客讨论了如何在PHP中使用Session和Cookie进行用户登录状态管理。作者遇到的问题是在用户注销时,想要保留"记住我"功能的Cookie仍然被清除。文中提供了登录和注销的代码实现,并寻求解决方案以确保在注销后仍能保留Cookie设置。
摘要由CSDN通过智能技术生成

我使用PHP Session变量来让用户登录并编辑他们的网站。当他们注销时,我会调用session_destroy();函数来终止会话。

在登录屏幕上,我可以选择“记住这台计算机”,而不是使用$_SESSION[]变量,而是像这样设置一个cookie:

setcookie("admin", true, $expire);

该Cookie已设置,但是当我注销时,Cookie将取消设置。任何方式来防止这种情况?我希望会议结束,但我希望网站也记住计算机。

感谢您的时间。

编辑:这里是我用来启动和销毁会话的两种方法(我调用的会话方法在另一个类上)

public function loginCheck() {

//check if the remember me is set

if (isset($_POST['remember'])) {

$expire = time() + 60 * 60 * 24 * 30;

setcookie("admin", true, $expire);

}

else{

setcookie("admin", "", time()-3600);

}

$sth = $this->db->prepare("SELECT uid FROM philllwareusers WHERE

usr = :login AND pasw = :password");

$sth->execute(array(

':login' => $_POST['user'],

':password' => $_POST['pswrd']

));

$data = $sth->fetch();

$count = $sth->rowCount();

if ($count > 0) {

//check if user has permision to edit this website

$sth = $this->db->prepare("SELECT web_id FROM website_spine WHERE

admin_id = :uid ");

$sth->execute(array(

':uid' => $data['uid']

));

$datas = $sth->fetch();

$counts = $sth->rowCount();

if ($counts > 0) {

if ($datas['web_id'] == WEB_ID) {

Session::init();

Session::set('uid', $data['uid']);

Session::set('loggedIn', true);

header('location: ../index');

} else {

header('location: ../Adminlogisn');

}

}

// login

} else {

header('location: ../Adminlogin');

}

}

function logout() {

Session::init();

Session::destroy();

header('location: '.URL.'/Adminlogin');

}这就是管理员登录的样子(将检查cookie是否应该设置的部分,并应保持设置或销毁它)。

if(!isset($_COOKIE['admin']) || $_COOKIE['admin'] == ''){?>

Remember this computer as an admin computer

[?]

}

else{

?>

Un-check to forget this computer as an admin computer.

[?]

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值