我在開發機器上使用php5和apache2。生產服務器顯然是相似的。php會話變量丟失
我有一個創建一個會話變量腳本set_language.php根據所選擇的語言:
<?php
session_start();
$back = $_SERVER['HTTP_REFERER'];
if (isset($_GET['lang'])) {
if ($_GET['lang'] == 'fr')
$_SESSION['lang'] = 'fr';
else if ($_GET['lang'] == 'en')
$_SESSION['lang'] = 'en';
}
header("Location: $back") ;
exit();
?>
然後我舉出以下的所有網頁上的代碼:
session_start();
if(isset($_SESSION['lang']) && $_SESSION['lang'] == 'en') {
require('lang_en.php');
}
else if(isset($_SESSION['lang']) && $_SESSION['lang'] == 'fr') {
require('lang_fr.php');
}
比我能得到語言相關變量與:
echo $lang[sometexttotranslate];
在開發服務器上它的工作方式與預期一樣編輯。我點擊鏈接來設置語言和我的會話變量包含LANG = EN或FR
在生產服務器上:
$ _SESSION [ '郎'] = DN或博士(應該是EN或FR)
回聲$ LANG [sometexttotranslate] = d(應該是翻譯的文字)
任何想法,在 「d」 的從何而來?
這不是重定向/頭/ session_start()問題。
的print_r($ _ SESSION)上第一負載:
英語鏈路(set_lang上的點擊後陣列([郎] => FR)
的print_r($ _ SESSION)。以上PHP):
陣列([郎] => DN)
的print_r($ _ SESSION)AFTE法國鏈路上RA單擊(上述set_lang.php):
陣列
的print_r($ _ SESSION)登錄後([郎] => DR):
陣列([郎] =>博士[有效] => 1 [僞] => GYC [UID] => 3)
嗯...炒位... –
@Ignacio我不知道在這個問題的背景是什麼,但我完全同意。油炸鬆脆的零食是美味的,應該是每種美食的基礎。 –
print_r會話顯示什麼,也許會比較會話ID。 – Melsi