我在CodeIgniter应用程序中遇到问题。我使用set_userdata()从特定的控制器方法将一些信息放入会话中,当我尝试使用userdata()从另一个控制器方法检索此信息时,它在使用Safari时返回空。当我使用Chrome或Firefox时,它可以正常工作。
这是控制器代码:
<?php
class Helloworld extends CI_Controller {
public function display()
{
$this->load->helper('url');
$this->load->library('session');
$this->session->set_userdata('some_name', 'some_value');
//echo $this->session->userdata('some_name');exit; //HERE IT WORKS
redirect("dashboard");
}
public function user_dashboard()
{
$this->load->library('session');
echo "redirect and session test - ";
echo $this->session->userdata('some_name');exit; //HERE IT FAILS
}
}
?>
以下是routes.php的代码段:
$route['dashboard'] = 'helloworld/user_dashboard';
所以,当我访问这个URL时 http://mydomainhere.com/CI/index.php/helloworld/display 它重定向到这一个: http://mydomainhere.com/CI/index.php/dashboard
Chrome和Firefox的输出是: &#34;重定向和会话测试 - some_value&#34; Safari中的输出是: &#34;重定向和会话测试 - &#34;
奇怪的是,如果我尝试在同一个控制器方法中检索会话中的信息,并将信息放入会话中,它就可以在Safari上运行。如果我尝试从另一个控制器方法中检索信息,它不起作用,在这种情况下,我将信息分配给&#34;显示&#34;方法,我试图从&#34; user_dashboard&#34;方法
我感谢任何帮助。
谢谢你们。