我有一点混乱的问题。
我的网站有多种语言。对于默认标签和标题,我制作了一些外部php文件,其中我有不同语言值的变量。
例如,在文件中我有变量
$ heading =“英语第一标题”
和变量
$ heading =“德语第一标题” ...
在会话中,我已经存储了当前语言的值,并且if状态我知道要采用什么语言变量。
我的问题是下一个:
当我第一次加载页面时,我从外部语言文件调用变量的所有字段都是空的......
而且,当我刷新页面时,变量就在那里,具有正确的价值......
有人可以帮我解决这个问题吗?
我在php文件中的所有内容之前都包含了外部文件,并使用 include 功能。
答案 0 :(得分:0)
如何包含文件?
也许第一语言变量尚未保存在会话中。
检查语言是否设置总是一个好主意你将使用一些默认值,即英语。
if (!isset($language)) {
$language = 'en';
}
答案 1 :(得分:0)
从我刚才写的内容中稍微修改一下......也许这会对你有所帮助。
$langSession = $_SESSION['lang'];
if(!isset($_SESSION['lang']){ // if the Session with language was not set
$browserlang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // Get the browser setting language, tested it in firefox
if($browserlang == "de"){
$_SESSION['lang'] = "de"; // German
}elseif($browserlang == "nl"){ // Dutch
$_SESSION['lang'] = "nl";
}else{ // Else English
$_SESSION['lang'] = "en";
}
}
include('language.php');