如何让我的include函数工作?

时间:2014-11-24 15:49:01

标签: javascript php jquery html language-translation

我正在为娱乐公司制作一个网站。因为我们为很多外国人工作,所以我试图让网站多元化。然而,当我测试它时,文本作为空白回来了。我认为问题在于common.php文件,但我不确定。我使用了一个几乎完全相同的小伙子的common.php。

我将整个网站放在一个页面上(index.php),用户使用js滑块功能进入下一部分。翻译脚本应该像这样工作:common.php文件包含在我的index.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';
?>

index.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>

和common.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中。但现在我真的很困惑,因为那也没有用!

4 个答案:

答案 0 :(得分:2)

删除.

include_once $lang_file

答案 1 :(得分:1)

尝试关闭切换指令。

switch ($lang) {
  case 'nl':
  $lang_file = 'nederlands.php';
  break;

  case 'ba':
  $lang_file = 'bosnisch.php';
  break;
} // close switch 

include_once $lang_file;

答案 2 :(得分:0)

include_once($lang_file);

它不是构造函数

答案 3 :(得分:0)

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

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