PHP 多语言问题
我在使用 php 多语言时遇到问题。我正在使用函数 *check_lang* 并且它在一个页面中工作正常,但是一旦我进入另一页面, $_SESSION['lang'] 变量 $lang 就会变回默认值(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";
}
?>
I have problems with php multilanguage. I'm using function *check_lang* and it works fine in one page, but once I go to another page the $_SESSION['lang'] variable $lang turns back into default (en). What is the problem?
<?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";
}
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须:
在您想要使用会话变量的每个脚本的顶部。
You have to:
At the top of each of your scripts in which you want to use session variables.
您需要在计划使用 $_SESSION[] 全局的每个页面上调用 session_start() 。这就是告诉 PHP 它应该从用户的 cookie 或查询字符串中查找 session_id ,以便 PHP 知道哪个会话的值使用。
参考。
You need to call session_start() on each page you're planning on using the $_SESSION[] global in. That's what tells PHP that it should look up the session_id from the user's cookies or the query string so that PHP knows which session's values to use.
Reference.