【问题标题】:Unable to retrieve Codeigniter Session无法检索 Codeigniter 会话
【发布时间】:2015-09-16 18:29:26
【问题描述】:

我正在使用 ajax 进行登录验证。 在控制器中设置会话并返回一个值。如果值为“1”;我正在使用 ajax 将他重定向到个人资料。 我无法在配置文件功能中检索会话数据。 但可以在设置会话的相同功能中打印会话数据。

这里是代码。 **主计长:

if($row['is_verified'] == '1')
{
$info['details'] = 'user_id,role_id';
$info['type'] = 'email_id';
$info['data'] = $this->input->post('email');
$userdata = $this->tseng_model->get_userdata($info);
$data = array(
'UserID' => $row['user_id'],
'RoleID' => $row['role_id']
);
$this->session->set_userdata($data);
echo "1";}
public function profile()
{
  print_r($this->session->all_userdata());
}

我的 ajax 代码成功重定向到页面

if(data==1)
{
setTimeout(function(){ window.location.href='<?php echo site_url('tseng/profile') ?>' }, 3000);
}

但无法在配置文件功能中检索数据..

【问题讨论】:

    标签: codeigniter session


    【解决方案1】:

    您应该在 config.php 中验证您是否正确设置了 cookie 安全性。

    对于 SSL 连接:

    $config['cookie_secure']    = true;
    

    对于非 SSL 连接:

    $config['cookie_secure']    = false;
    

    【讨论】:

    • 它已经设置为 false。就像我只使用非 SSL 运行它一样。
    • 我会在重定向之前尝试将您的用户数据设置为新的 cookie。我这样做是为了让 CI 烦人的会话真正发挥作用!
    • 是的,我试着做饼干!但是会话的问题是什么:?我想知道原因.. !!谢谢你的帮助..
    • codeigniter 会破坏您的会话并在每次加载/刷新页面时重新创建它。我总是通过检查我的 cookie 设置或使用我需要的数据创建一个 cookie 来解决这个问题
    • 所以你说现在我不能使用会话了!..?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    相关资源
    最近更新 更多