Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 外部语言文件_Php - Fatal编程技术网

Php 外部语言文件

Php 外部语言文件,php,Php,我有点困惑 我有多种语言的网站。对于默认标签和标题,我制作了一些外部php文件,其中包含不同语言值的变量 例如,在文件中我有一个变量 $heading=“第一个英文标题” 和变量 $heading=“德语首个标题” 在会话中,我存储了当前语言的值,使用if状态,我知道应该使用什么语言变量 我的问题是: 当我第一次加载页面时,我从外部语言文件调用变量的所有字段都是空的 而且,当我刷新页面时,变量就在那里,具有正确的值 有人能帮我解决这个问题吗 在php文件中,我将外部文件放在所有内容之前,并使用i

我有点困惑

我有多种语言的网站。对于默认标签和标题,我制作了一些外部php文件,其中包含不同语言值的变量

例如,在文件中我有一个变量

$heading=“第一个英文标题”

和变量

$heading=“德语首个标题”

在会话中,我存储了当前语言的值,使用if状态,我知道应该使用什么语言变量

我的问题是:

当我第一次加载页面时,我从外部语言文件调用变量的所有字段都是空的

而且,当我刷新页面时,变量就在那里,具有正确的值

有人能帮我解决这个问题吗


在php文件中,我将外部文件放在所有内容之前,并使用include功能。

如何包含该文件

可能第一语言变量尚未保存在会话中

检查语言是否未设置始终是一个好主意。您将使用一些默认值,即英语

if (!isset($language)) {
    $language = 'en';
}

从我之前写的内容中修改了一点…也许这会对你有所帮助

$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');

您能显示您的代码吗?会话可能是在用户选择语言时创建的?默认值是?这是个问题:)。。。会话未保存变量:)非常感谢,兄弟!:)