更改语言而不会重定向到主页

时间:2017-05-11 13:27:41

标签: php indexing twig

很多人,我在更改语言时遇到问题。 我已经阅读了很多问题和答案,但它们对我不起作用。我试图解决这个问题,但我做不到。

我是学生,今年我开始编码。我和Twig一起工作,这让我更加困惑。

这是我用于检测语言的php文件

<?php
if(isset($_GET['lng'])){
     $lng = $_GET['lng'];
     if($lng !== '' && ($lng === 'fr' || $lng === 'en'))
      $_SESSION['langue'] = $lng;
    }
    if(isset($_SESSION['langue'])) $userLang = $_SESSION['langue'];
    else $userLang = 'en';

  ?>

在我写的index.php中

$page = "index";
if( isset ($_GET['page']) ) $page = $_GET['page'];
$pagePHP = "home";
switch( $page )
{
  case "whatwedo" : $pagePHP = "whatwedo";   $current = "whatwedo";   break;
      default : $pagePHP = "home";  $current = "home";   break;
}
$view->setVar('currentPage', $page);
include "pages/$pagePHP.php";

这是我的layout.html.twig

<div id="menulangue">
         <a href="index.php?lng=fr" title="Français"><div class="btnlanguess">Français</div></a>
         <a href="index.php?lng=en" title="English"><div class="btnlangue">English</div></a>
</div>

我尝试以多种方式更改href的链接。我记得最后两个:

  1. a href =“index.php?page = {{currentPage}}?lng = fr”
  2. a href =“{{currentPage}}?lng = fr”
  3. 但它不起作用。我的索引url是index.php?lng = en和另一个页面(无论是英文还是法文)是index.php?page = whatwedo。 在上述情况下,单击语言更改时,不仅会返回索引页面,而且索引页面的URL将如下所示

    案例1. index.php?page = equipe?lng = fr,在这种情况下,如果选择另一个页面,它会默认继续使用该语言。

    案例2. whatwedo?lng = fr且未找到页面:未找到

    在此服务器上找不到请求的URL / APL / whatwedo。

1 个答案:

答案 0 :(得分:2)

将此作为社区维基回答发布,看到它已在评论中解决。

我:

  

“index.php?page = equipe?lng = fr - 第二个参数应该使用&amp;而不是?”

OP:

  

“哇,非常感谢,弗雷德!你是一个天才 - 我在第一种情况下改变了吗?带有&amp;它完美无缺!非常感谢!”