我想用多种语言制作网站并选择带有ajax的语言,并且将从数据库中选择不同的单词,我想使用session [lang],我不想使用GET [lang]。 我试着从5天开始做这个,但我尝试了很多变种,现在我很困惑
现在我在这里:
我有模型 - > Langs - >
function set_langs($arg) {
$this->session->unset_userdata(‘lang’);
$this->session->set_userdata(‘lang’, $arg);
return $arg;
}
function get_langs() {
return $this->session->userdata(‘lang’);
}
家庭控制器中的- >
public function index(){
if($this->session->userdata(‘lang’)==’‘){
$this->Langs->set_langs(‘en’);
$glang[‘lang’] = $this->Langs->get_langs();
}else{
$glang[‘lang’] = $this->Langs->get_langs();
}
$this->load->view(‘header’, $glang);
}
public function set()
{
if($_POST && $_POST[‘lang’] != NULL) {
$this->Langs->set_langs($_POST[‘lang’]);
$return[‘error’] = false;
$return[‘msg’] = $this->session->userdata(‘lang’).’ ok!’;
echo json_encode($return);
}else{...}
}
并在 header.php - >中在JS - >
$.ajax({
type: “POST”,
url: “index.php/home/set”,
dataType : ‘json’,
data: “lang=”+lang,
success: function(data){
if(data.error === true){
$( “#dialog-message2” ).text(data.msg).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( “close” );[removed]=location.href;
}
}
});
}else{...}
当页面刷新语言stil没有改变但是当从ajax返回消息时它工作 所以哪里错了 抱歉英语不好 感谢
* 问题是 - > system / libraries / Session.php(来自CodeIgniter_2.0.2.zip的原始文件) - >我下载http://codeigniter.com/wiki/File:CI_1.5.1_with_Session.zip/并没有问题
答案 0 :(得分:0)