Php CodeIgniter Cookies在FF中工作,但不在Chrome或IE中工作

Php CodeIgniter Cookies在FF中工作,但不在Chrome或IE中工作,php,authentication,codeigniter,Php,Authentication,Codeigniter,我已经在CI中建立了一个站点,并且有一个登录系统,它在Firefox中运行良好,但在Chrome或IE中不起作用。在这两种情况下,如果用户名和密码正确,它只会(我想)重定向回登录页面,而不是登录错误页面,或者站点主页(应该如此)。我注意到它似乎并没有在Chrome中设置cookie,但它在FF中设置cookie 以下是我的控制器中的代码,用于设置cookie并在身份验证后重定向: $newdata = array( 'username

我已经在CI中建立了一个站点,并且有一个登录系统,它在Firefox中运行良好,但在Chrome或IE中不起作用。在这两种情况下,如果用户名和密码正确,它只会(我想)重定向回登录页面,而不是登录错误页面,或者站点主页(应该如此)。我注意到它似乎并没有在Chrome中设置cookie,但它在FF中设置cookie

以下是我的控制器中的代码,用于设置cookie并在身份验证后重定向:

            $newdata = array(
                   'username'  => $_POST['login_username'],
                   'real_name' => $name,
                   'user_id' => $uid,
                   'logged_in' => TRUE
               );

            $this->session->set_userdata($newdata);
            //echo $newdata;
                redirect('/site/index');    
你知道为什么会这样吗


谢谢

检查$\u会话是否已设置。在CI上,您可能需要优雅地退出以将$this session中的内容刷新到“real”会话变量上

添加一个echo序列化($\u会话),以便(在重拨之前)知道发生了什么


并检查如何优雅地结束Ci请求。

检查是否确实设置了$\u会话。在CI上,您可能需要优雅地退出以将$this session中的内容刷新到“real”会话变量上

添加一个echo序列化($\u会话),以便(在重拨之前)知道发生了什么


然后检查如何优雅地结束Ci请求。

对我来说,只要给cookie添加更多时间,问题就解决了,我有3600个,所以我改为7200个。似乎是我的生产现场的时间问题。可能会帮助某人。

对我来说,这解决了问题,只需给饼干增加更多的时间,我有3600块饼干,所以我改为7200块。似乎是我的生产现场的时间问题。可能对某人有所帮助。

调整cookie名称可以解决CI配置中删除下划线的问题。这篇文章很好地解释了细节。

调整cookie名称可以解决CI配置中删除下划线的问题。这篇文章很好地解释了细节。

我也遇到过这个问题。。。Chrome和IE的会话用户数据丢失,但在Firefox上正常。这是由于config/config.php中的设置不正确造成的

我必须明确地设置
cookie\u域
为了使它在未来的自动控制,我使用了这个命令。。。窃取了CI论坛

$config['cookie_domain'] = str_replace("http:/","",str_replace("https://","", $config['base_url']));

我添加了这一行,一切正常。

我也遇到了这个问题。。。Chrome和IE的会话用户数据丢失,但在Firefox上正常。这是由于config/config.php中的设置不正确造成的

我必须明确地设置
cookie\u域
为了使它在未来的自动控制,我使用了这个命令。。。窃取了CI论坛

$config['cookie_domain'] = str_replace("http:/","",str_replace("https://","", $config['base_url']));

我添加了这一行,一切正常。

在我的例子中,问题是
$config['base\u url']
是空的。 所以我把它设为我的域名

$config['base_url'] = 'http://yourdomain.com/';

在我的例子中,问题是
$config['base\u url']
是空的。 所以我把它设为我的域名

$config['base_url'] = 'http://yourdomain.com/';

CodeIgniter有一些问题,如果Cookie的指定域是
localhost
,我已经在hosts文件中设置了一个具有真实域名结构的假域,它可以工作

CodeIgniter有一些问题,如果cookie的指定域是
localhost
,我已经在hosts文件中设置了一个具有真实域名结构的假域,它可以工作

也许这会有所帮助:在这篇文章中可以找到另一种解决方案。也许这会有所帮助:在这篇文章中可以找到另一种解决方案。