我想使用$ _GET ['']方法在会话中保存语言:
<a href="?lang=fr">French</a>
<a href="?lang=en">English</a>
默认情况下,网站语言为法语。如果用户从上面的链接中选择一个,则将更改网站语言。然后甚至认为$ _GET ['lang']没有设置,我希望$ _SESSION ['lang']总是保存用户选择的最后一种语言。
我试过这个,但它不是逻辑,我知道..
$languages = array('en', 'fr');
if(isset($_GET['lang']) AND in_array($_GET['lang'], $languages)){
$_SESSION['lang'] = $_GET['lang'];
}else{
$_SESSION['lang'] = "fr";
}
require_once('languages/'.$_SESSION['lang'].'.php');
我应该怎么做以保存最后一种语言是会话变量?
答案 0 :(得分:3)
当你没有在网址中使用该语言时会发生什么,它会将其设置为法语。
要解决这个问题,你可以在会话中设置语言(如果在网址中给出),否则如果没有设置会话,则默认情况下是法语。
$languages = array('en', 'fr');
if(isset($_GET['lang']) AND in_array($_GET['lang'], $languages)){
$_SESSION['lang'] = $_GET['lang'];
}
if(!isset($_SESSION['lang']){
$_SESSION['lang'] = "fr";
}
require_once('languages/'.$_SESSION['lang'].'.php');