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
答案 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而不是会话。