我正在尝试使用语言和自己的数据库/ CMS结构。我到目前为止已经选择了Browserset语言。这很好用。我知道有更好的解决方案(每种语言的其他域名,我已经google了很多)...有一个自己添加的cookie(setcookie)它也有效。
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$langCookie = $_COOKIE['language'];
if(!empty($langCookie)){
$lang = $_COOKIE['language'];
}
if($lang == en){
//Select from database, got three languages, text (en), textOther1 (otherlang1) and textOther2
}elseif($lang == xy){
//other selecet
}else{
//select if nothing fits
}
我现在的问题是:
如何让用户在页面上选择具有选择的语言。我想让用户通过选择来选择语言......但是当我选择一个选项时,我无法完成设置我的cookie ......
我知道我必须在此之后重新加载页面(header_location),但我无法进一步...
解决这个问题的任何帮助或窍门都会非常好。
答案 0 :(得分:1)
我认为您可以使用GET方法向页面发送请求,只需将语言代码添加为参数,然后检查此参数是否存在 - 如果不存在,请将您的值视为现在。
您可以使用此标记,例如:
<form id="langForm" action="" method="GET">
<select name="lang" onchange="this.form.submit();">
<option value="en">English</option>
<option value="fr">French</option>
</select>
</form>
然后在服务器端,你应该检查是否存在lang参数:
<?php
if( isset( $_GET ) && ! empty( $_GET['lang'] ) ) {
// do something
} else {
// do something else
}
?>
希望有所帮助!