CodeIgniter会话丢失数据

时间:2011-01-25 22:57:39

标签: codeigniter

我不知道为什么,但我在页面之间丢失了CodeIgniter会话数据。会话ID正在改变。什么可能导致这个?一旦设置好,它是不是可以从任何页面访问?

会话数据在配置页面中设置:

<?php $config = array(
                    'power' => $_COOKIE['power'],
                    'oemclass4' => $_COOKIE['class'],
                    'cooling' => $_COOKIE['cooling'],
                    'beam' => $_COOKIE['beam'],
                    'wavelength' => $_COOKIE['wavelength'],
                    'model_no' => $_COOKIE['part']);

    $this->session->set_userdata('config', $config);

?>

然后,用户将被重定向到包含其配置详细信息的页面。会话userdata仍在那里。然后他们将Javascript重定向(window.location)到登录页面,然后用户数据消失了。

4 个答案:

答案 0 :(得分:2)

在本地主持人工作时确实如此。将cookie_domain指定为localhost。这将保留页面重定向上的所有会话数据。

答案 1 :(得分:1)

我在使用localhost时已经在cookie域中使用了127.0.0.1。但是,当我将cookie_domain更改为“localhost”时,会话开始工作。我打算切换到Native会话,但改为“localhost”工作&amp;我已经在localhost上移动了CI会话。

答案 2 :(得分:0)

我有一个类似的问题。请确保例如,如果base_url为 设置为说,dynamic.dns.com,你在localhost输入127.0.0.1上测试它 或者localhost,这些都是浏览器的不同域,这可能会导致
这个问题。

希望有所帮助:)

答案 3 :(得分:0)

因为配置cookie,我的session_id一次又一次地改变。

$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path']   = '/';

但我一直都是个问题...我的BDD是用本地会话php更新的,但我在user_data中的vars已被销毁&gt;&lt; user_data也。