我的网站上有4个wordpress安装,都按语言存储在一个单独的文件夹中,现在我在主目录中创建一个索引文件,其中有一个表单,他们在下拉菜单中选择一种语言,所以如果他们提交语言我想用php存储它'我猜在SESSION',所以如果他们将来再次访问主目录,他们不必再次选择语言,但是它们被重定向到/ en,/ nl,..索引页面。 我对php不是很熟悉所以有人可以解释一下如何做到这一点吗?
谢谢
<?php
SESSION_START();
if (isset($_GET['en'])) {
header( 'Location: http://www.mysite.com/en/' ) ;
}
else if (isset($_GET['nl'])) {
header( 'Location: http://www.mysite.com/nl/' ) ;
}
else if (isset($_GET['de'])) {
header( 'Location: http://www.mysite.com/de/' ) ;
}
else if (isset($_GET['tr'])) {
header( 'Location: http://www.mysite.com/tr/' ) ;
}
else {
header( 'Location: http://www.mysite.com/' ) ;
}
?>
我尝试使用php include将其添加到页面的开头,然后将其用于表单操作但它总是返回到索引页面
我的HTML:
<form name='language' action='language.php' method='get'>
<select>
<option value='en'>English</option>
<option value='nl'>Nederlands</option>
<option value='de'>Deutsch</option>
<option value='tr'>Turkçe</option>
</select>
<input type='submit' value='Submit'><br/>
</form>
答案 0 :(得分:2)
当用户访问选择语言的页面时,您可以检查他们是否已经选择了这样的语言:
if(isset($_SESSION['preferred_language'])){
//forward the user here using php's header function
//see this link for more info: http://php.net/manual/en/function.header.php
}
else{ //If the user has not yet selected a language
//display the page so the user can select a language, then set that language like this:
$_SESSION['preferred_language'] = $_GET['preferred_language'];
}