我有php多语言的问题。我正在使用function * check_lang *并且它在一个页面中工作正常,但是一旦我转到另一个页面,$ _SESSION ['lang']变量$ lang将变回default(en)。有什么问题?
<?php
function check_lang() {
if(isset($_GET['lang'])
{
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang
}
if (!isset($_SESSION['lang'])) {
$lang = 'en';
} else {
$_SESSION['lang']=$lang;
}
//directory name
$dir = 'languages';
return "$dir/$lang.lng";
}
?>
答案 0 :(得分:3)
你必须:
session_start();
在您要使用会话变量的每个脚本的顶部。
答案 1 :(得分:0)
你需要在你计划使用$ _SESSION []全局的每个页面上调用session_start()。这就是告诉PHP它应该从用户的cookie或查询字符串中查找session_id以便PHP知道要使用哪个会话的值。