我目前正在用codeigniter 2.1.2構建一個網站。現在我遇到了一個有效構建多語言網站的問題。PHP Codeigniter多語言網站使用會話變量來存儲語言密鑰
我已經閱讀了語言課程教程和幫手,我已經存儲了兩個語言文件夾「中文」和「英文」。
我打算做的是我想要一個名爲「lang」的語言會話變量。我希望以下內容:
- 如果沒有會話變量「郎」的存在,我將創建一個指向它爲「英語」
- 如果會話變量已經被設置和用戶點擊了語言的變化,那麼會話變量將從「中文」變爲「英文」或「英文」變爲「中文」。
我對PHP和Codeigniter相當陌生,現在我能想到的就像下面這樣。任何人都可以照亮一些燈光,我如何有效地允許用戶更改我網站上的語言?
我不知道如何在用戶點擊事件時更改會話變量。
// Load Language Files
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
$lang = 'english';
} else {
$lang = 'chinese';
}
$this->lang->load('pages/header',$lang);
我創建了一個語控制器和設置會話變量,然後重定向頁面返回到前一頁。這是一個好方法嗎?
<?php
Class language Extends CI_Controller {
function index() {
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
} else {
$lang = $this->session->userdata('lang');
if ($lang =="chinese") {
$this->session->set_userdata('lang','english');
} elseif ($lang == "english") {
$this->session->set_userdata('lang','chinese');
} else {
$this->session->set_userdata('lang','english');
}
}
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}