会话变量未保存在主机上,而是保存在php中的localhost中

会话变量未保存在主机上,而是保存在php中的localhost中,php,session-variables,Php,Session Variables,我试图在web中添加多语言,但我在会话变量方面遇到了问题 我有这个: session_start(); $lang = $_SESSION['lang']; echo $_SESSION['lang']; $languages = array('es', 'en'); if(in_array($_GET['lang'], $languages)){ $_SESSION['lang']=$_GET['lang']; $lang = $_SESSION['lang']; echo $lang; }

我试图在web中添加多语言,但我在会话变量方面遇到了问题

我有这个:

session_start();
$lang = $_SESSION['lang'];
echo $_SESSION['lang'];
$languages = array('es', 'en');
if(in_array($_GET['lang'], $languages)){
$_SESSION['lang']=$_GET['lang'];
$lang = $_SESSION['lang'];
echo $lang;
}
include("translations/lang.php");
更改语言的链接:

<li><a href="?lang=es">Español</a></li>
<li><a href="?lang=en">Ingles</a></li>
  • 当我单击其中一个链接时,$lang变量存储$\u会话['lang'],即$\u GET['lang'],它在本地主机(Wamp)上工作,但当我将其放在主机上时,当更改到web内的其他页面时,$\u会话['lang']将消失

    你能帮帮我吗。 提前谢谢

    当更改到web中的其他页面时,它不起作用 $\会话['lang']消失

    您确定正在使用:

    session_start();
    
    在你所有的页面里

    当更改到web中的其他页面时,它不起作用 $\会话['lang']消失

    您确定正在使用:

    session_start();
    

    在您的所有页面中?

    是的,session_start()位于从web其余部分调用的header.php文件中。是的,session_start()位于从web其余部分调用的header.php文件中。这可能是权限问题。我已经有一段时间没有玩php或php会话了,但我的记忆告诉我,默认实现是将会话数据存储在某个系统目录中。这可能是一个权限问题。我已经有一段时间没有玩php或php会话了,但我的记忆告诉我,默认实现是将会话数据存储在某个系统目录中。