2011-07-01 28 views
2

我想使用多种语言的网站,并选择语言与Ajax和不同的单词将从数据库中选择,我想使用会话[郎],我不'不想使用GET [lang]。 我正在5天尝试做这个,但我尝试变种非常多,我很困惑,现在Codeigniter多语言 - 从ajax中选择 - 会话问题

现在我在这里:

我有模型 - > 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’); 
} 
Home控制器

- >

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{...} 

当页面刷新还是老样子没有变化的语言,但是当从阿贾克斯返回消息它的工作 那么,我错了 遗憾的英语不好 感谢

*问题是为 - >系统/库/ session.php文件(原从CodeIgniter_2.0.2.zip文件) - >我下载http://codeigniter.com/wiki/File:CI_1.5.1_with_Session.zip/无问题

+0

如果你已经回答了这个问题,请添加答案并标记为已回答。 – cwallenpoole

回答