php - cookie 未设置无法正常工作

标签 php codeigniter cookies

我在我的登录页面中使用了记住选项。我认为我做对了但是在注销时我无法取消设置 cookie 变量。我正在使用 CI 但对于 cookie 我使用的是 native cookie。什么是我做错了吗?我的代码: 在登录 Controller 中:

function index(){
if(isset($_COOKIE['remember_me'])){
  redirect('index');
}elseif($this->input->post()){
  $username = $this->input->post('username');
  $password = $this->input->post('password');
  $remember = $this->input->post('remember');
  if($remember){
      $time = time()+60*60*24*365;
      setcookie('remember_me', $username , $time);
  }
  $this->session->set_userdata('user_name', $user_name);
  $this->session->set_userdata('full_name', $full_name);
  $this->session->set_userdata('server', $server->exchange_server);
  redirect('index');
}else{
  $this->load->view('login');
}
}
function logout(){
 $this->session->unset_userdata('user_name');
 $this->session->unset_userdata('full_name');
 $this->session->unset_userdata('server');
 $data['login'] = 'Logout Successfully.';
 $data['class'] = 'success';
 $this->session->set_flashdata($data);
/* To unset cookie i tried following different approach but to no avail*/
setcookie('remember_me');
setcookie('remember_me', '', $time()-60*60*24*365);
setcookie('remember_me', false);
unset($_COOKIE['remember_me']);
 redirect('login');
}

但无济于事。我只是无法解开cookie,当检查我的用户记住我时,请选择记录它没有发生。 欢迎任何帮助/建议。谢谢

我不知道是什么问题,但我使用 jquery 插件删除 cookie { https://github.com/carhartl/jquery-cookie }.我包含了 jquery.cookie.js,然后在注销时单击我删除了设置为 $.removeCookie('remember_me') 的 cookie

最佳答案

unset($_COOKIE['some_cookie'])

您没有删除浏览器上的 Cookie,您取消了变量 $_COOKIE['some_cookie'] 的设置。

如果您想删除浏览器 cookie,您必须将过期日期设置为过去:

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

如果它不起作用,请尝试正确设置 cookie 域。

创建:

setcookie('some_cookie', null, time() + 3600, "/");

删除:

setcookie('some_cookie', null, time() - 3600, "/");

关于php - cookie 未设置无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20323284/

相关文章:

php - 带有过多嵌套字符串引号的 Post 参数

使用 Codeigniter 登录 Facebook 突然停止工作

javascript - 如何设置带有过期时间的 cookie?

php - 如何修复 Stripe Payment Intent 中客户端或服务器端的 3D 安全确认付款?

php - utf 8 - PHP 和 MySQLi UTF8

php - 对 JavaScript 的函数调用不起作用

php - 如何让 CodeIgniter 使用 SSL 加载特定页面?

javascript - 如何在从另一个ajax加载ajax之前清除数据表

javascript - 用户脚本可以从给定域中删除 cookie 吗?

cookies - 从 qml 获取/设置 cookie