如何让我的包含函数工作


How can I get my include function to work?

我正在为娱乐公司做一个网站。因为我们为很多外国人工作,所以我试图使网站多语言化。但是,当我测试所有内容时,文本返回为空白。我认为问题出在共同.php文件中,但我不确定。我用的是普通的.php来自一个做几乎同样东西的小伙子。

我将整个网站放在一个页面上(index.php),用户使用js滑块功能进入下一部分。翻译脚本应该像这样工作:common.php 文件包含在我的索引.php中。它检查用户使用的语言。然后 common.php 应该在 index.php 中加载匹配的字典文件。但它没有...

有关如何在网站上加载我的翻译文本的任何帮助将不胜感激!

    <?php
/*
------------------
Taal: Nederlands
------------------
*/
$lang = array();
// Menu
$lang['MENU_FOTO'] = 'Fotogalerij';
$lang['MENU_INFO'] = 'Over ons';
$lang['MENU_AGENDA'] = 'Koncerten';
$lang['MENU_CONTACT'] = 'Contact';
?>

索引中的标题部分.php

<header>
    <div class="sticky-nav">
        <a id="mobile-nav" class="menu-nav" href="#menu-nav"></a>
        <div id="logo">
            <a id="goUp" href="#home-slider" title="Entertainment">Home</a>
        </div>
        <nav id="menu">
            <ul id="menu-nav">
                <li><a href="#foto"><?php echo $lang['MENU_FOTO']; ?></a></li>
                <li><a href="#work"><?php echo $lang['MENU_INFO']; ?></a></li>
                <li><a href="#about"><?php echo $lang['MENU_AGENDA']; ?></a></li>
                <li><a href="#contact"><?php echo $lang['MENU_CONTACT']; ?></a></li>
            </ul>
        </nav>
    </div>
</header>

和共同的.php

<?php
session_start();
header('Cache-control: private'); 
if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'nl';
}
switch ($lang) {
  case 'nl':
  $lang_file = 'nederlands.php';
  break;
  case 'ba':
  $lang_file = 'bosnisch.php';
  break;
include_once .$lang_file;
?>

编辑

我现在甚至尝试将其中一个语言文件直接包含在 index.php 中。但是现在我真的很困惑,因为这也不起作用!

删除.

include_once $lang_file

尝试关闭开关指令。

switch ($lang) {
  case 'nl':
  $lang_file = 'nederlands.php';
  break;
  case 'ba':
  $lang_file = 'bosnisch.php';
  break;
} // close switch 
include_once $lang_file;
include_once($lang_file);

这是一个函数而不是一个构造

我找到了。问题不在于 de php 编码。由于某种原因,我的 apache 服务器的设置搞砸了,它没有读取任何 php,只能读取 html。因此,它实际上显示了网站,就好像您从计算机而不是从服务器加载了所有内容一样。

无论如何,感谢您的努力!