我使用一個會話設置語言如何使用ajax更新我的會話?
if(!isset($GLOBALS['lang'])){
$GLOBALS['lang'] = 'en';
}
然後我使用ajax
更新此:
var lang = 'no';
$.ajax({
type: "POST",
url: url,
data: {
lang : lang
},
success: function (data) { (...) }
});
文件被調用看起來像這樣:
global $lang;
if(strlen($_POST['lang']) == 2){
$lang = $_POST['lang'];
$result = array('lang_set' => $lang);
echo json_encode($result);
}
但我的全球會議沒有改變。我猜這是因爲lang.php
使用另一個會話實例。
我正在使用Wordpress,所以我正在考慮是否可以使用一些內置函數來實現此目的。但我想知道是否可以使用PHP會話來跟蹤所選語言?或者我必須使用另一種方法,例如將選定的語言添加到我的網址?
UPDATE
感謝幽靈,我讓它工作。如果你正在使用WordPress的,我做在functions.php
如下:
// Initialize session
if(session_id() == '') {
session_start();
}
// Set lang session with default language
if(!isset($_SESSION['lang'])){
$_SESSION['lang'] = 'no';
}
//globals
$GLOBALS['lang'] = $_SESSION['lang'];
'if(!session_id()){session_start();}' – 2014-09-26 15:03:37