【问题标题】:language in codeigniter doesn' t work as expectedcodeigniter 中的语言没有按预期工作
【发布时间】: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


【解决方案1】:

要在生产服务器上调试这个,你可以临时放

error_reporting(E_ALL);

并查看还有哪些其他错误会阻止正确重定向。 您还应该检查生产服务器发送的响应标头。 它是否有“缓存”,是否需要重新验证标头等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多