【发布时间】:2014-02-27 14:29:27
【问题描述】:
第一个问题
我有一个动态站点,其中页面以下列方式动态包含在索引页面中:
$page = (empty($_GET["page"])) ? "home" : $_GET["page"];
$page = "folder/".basename($page).".php";
if (is_readable($page)) {
include($page);
} else {
echo 'Site doesn't exist!';
exit;
}
但也有一个语言菜单,它使用另一个 $_GET 参数更改语言:
<form name="switch" id="lang" action="" method="get">
<select name="multilingual" onchange="this.form.submit()">
<option value="lang_it">Italian</option>
<option value="lang_de" >German</option>
<option value="lang_en">English</option>
</select>
</form>
if(!isset ($_COOKIE['multilingual'])){
$lingua = null;
}else{
$lingua = $_COOKIE['multilingual'];
}
if(isset($_GET['multilingual'])){
$lingua = $_GET['multilingual'];
$_SESSION['multilingual'] = $lingua;
setcookie('multilingual', $lingua, time() + (3600 * 24 * 30));
}
switch($lingua){
case 'lang_it': include_once('file_it.php'); break;
case 'lang_de': include_once('file_de.php'); break;
case 'lang_en': include_once('file_en.php'); break;
default: include_once('file_it.php'); break;
}
第二个 $_GET 参数传递给 URL,但在页面上它总是将我重定向到默认主页。
如何在不重定向到主页的情况下更改语言? 换句话说,如何更改语言并保持在同一页面上?
第二个问题
是否可以更改 URL 中的 lang_it、lang_de、lang_en 参数以重定向到页面的当前语言。 如果出现这种情况,当页面切换到另一种语言时,如何更改语言切换器?
【问题讨论】:
-
感谢您的提示,但这并不能解决我的问题。另外,如果我在操作字段中写 REQUEST_URI。
标签: php redirect get multilingual