如何通过网页的html更改语言

时间:2014-11-04 08:14:50

标签: php html cookies

var $language = 'es_ES';
// en_US
// es_ES

如何使用“链接”

通过HTML更改语言

通过HTML可行,但是当我转到另一个网页时,它会消失并且& lang = es_ES

http://exemplewebpage.com/?action=clients&lang=es_ES
http://exemplewebpage.com/?action=clients&lang=en_US

4 个答案:

答案 0 :(得分:0)

为了解决这个问题,你必须使用会话变量。

当然,你必须使用php函数session_start()启动会话,当选择语言(即&lang=es_ES)时,你必须像这样初始化会话变量:

if(isset($_GET['lang'])) {
   $_SESSION['lang'] = $_GET['lang'];
}

从这里开始,会话将在你去的任何页面上保持设置该值......

希望这有帮助! :d

答案 1 :(得分:0)

我理解它的方式你应该尝试使用

$lang = $_GET['lang'];
if($lang == 'es_ES'){
var $language = 'es_ES';
} else if($lang == 'en_US'){
var $language = 'en_US';
}

也许这就是你需要的

答案 2 :(得分:0)

你可以说

<a href="homepage.php?lang='es_ES'">
<a href="homepage.php?lang='fr_FR'">

然后

if ( !empty($_GET['lang']) ) 
    $_COOKIE['lang'] = $_GET['lang'];
 else 
    $_COOKIE['language'] = 'some_default_language';

setcookie('language', $_COOKIE['lang']);

如果您不希望它为用户保留,您可以使用$_SESSION

答案 3 :(得分:0)

鉴于:

$language = $_GET['lang'];

传递lang ='。$ $语言。在进行GET请求时,每个href="...&lang='以及表单中的隐藏字段

<hidden name="lang" value="<?=$language?>"/>

并在发出POST请求时。)

<form method="POST" action="...&lang=<?=$language?>">

但是使用会话可能会更好。

在您的文档开头:

session_start();

if(!isset($_SESSION['language'])) {
    //Pick a default language
    $_SESSION['language'] = "es_ES";
}
//check if there is an override 
if(isset($_GET['lang']) && $_GET['lang'] != "") {
    $_SESSION['language'] = $_GET['lang'];
}

现在,在您的业务逻辑中,您可以将其称为:

if($_SESSION['language'] == "es_ES") {
    //do whatever
} else if ($_SESSION['language'] == "en_US") {
    //HAHA I'm speaking english
}
祝你好运!

根据您的要求,您可能希望使用Cookie而不是会话。