我发现本教程(http://www.sitepoint.com/multi-language-support-in-codeigniter/)为我的网站添加了多语言支持。我一步一步地跟着它。但是,在更改语言时,我收到以下错误代码:
致命错误:在第9行的application / hooks / LanguageLoader.php中调用null上的成员函数userdata()
显然我的cookie中保存的语言无法收到?我该如何解决?我感谢任何帮助!
答案 0 :(得分:0)
该错误表示具有userdata()函数的类未初始化 - NULL。在这种情况下,userdata()是Session类的一部分。
我没有在教程中的任何地方看到该类被加载所以请尝试使用此版本的LangSwitch.php控制器
<?php
class LangSwitch extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->library('session');
$this->load->helper('url');
}
function switchLanguage($language = "") {
$language = ($language != "") ? $language : "english";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
}
}