【发布时间】:2014-01-17 19:33:50
【问题描述】:
我有一个有两种语言的网站,它可以在 localhost 中完美运行。但是当我在生产环境中运行它并且人们尝试更改语言不起作用时,他们需要在浏览器中按 F5 键,然后站点以他们选择的语言重新加载。任何想法??谢谢...
public function __construct()
{
parent::__construct();
$this->lang->load('navmenu', $this->session->userdata('language'));
$this->lang->load('search', $this->session->userdata('language'));
$this->lang->load('home', $this->session->userdata('language'));
}
/.../
function ChangeLanguage ($lang)
{
$this->session->set_userdata('language', $lang);
redirect(base_url());
}
anchor('lang/changelanguage/spanish','Español')
anchor('lang/changelanguage/english','English')
【问题讨论】:
-
他们如何改变语言?查看您展示的控制器,他们需要重新加载,是的。 PHP 需要读取新的会话数据并传递新的内容。
-
...
changelanguage函数有什么作用?我假设它设置会话然后重定向? -
没错,这就是 changelanguage 所做的。在会话中设置语言,然后我在控制器类的构造器中加载它
-
尝试像这样
redirect('/','refresh');进行重定向
标签: php codeigniter session