语言 - 自动和用户

时间:2013-05-10 10:13:24

标签: php html forms html-select

我正在尝试使用语言和自己的数据库/ 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),但我无法进一步...

解决这个问题的任何帮助或窍门都会非常好。

1 个答案:

答案 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
}

?>

希望有所帮助!