2013-05-22 73 views
-1

要处理两种语言,我已经完成了以下操作,并且想知道它是否正常。使用会话变量处理2种语言可以吗?

在我所有的页面,我在菜单中的两个环节:

<a href="language.php?l=2">English</a> 
<a href="language.php?l=1">Français</a> 

在language.php,我设置会话变量回到页面:

if(isset($_GET['l'])) 
{ 
    $_SESSION['language']= GetLanguage($_GET['l']); 
    header('Location: ' . $_SERVER['HTTP_REFERER']); 
} 

然后在每个php页面上,每次我有一个单词时,我都不对它进行硬编码,而是将一个PHP变量取决于$ _SESSION ['language']的值。

您是否看到使用此机制的问题?

+1

不使用引用者。它不值得信任,并且并不总是如此。但除此之外,一般逻辑没有任何问题。 –

+2

我会建议使用显式语言,如en或en_US而不是数字。 –

回答

1

那么 - 如果你使用会话 - 这实质上就是为什么你会使用会话。所以没问题。

相关问题