注意:具有会话全局的未定义索引

时间:2011-10-11 16:03:28

标签: php arrays session

我在我的网站上添加了一个多语言系统,但遇到了这个错误。每当我尝试在我的$ _SESSION上设置一些值时,它会说

Notice: Undefined index: lang in ...\pages\lang.php on line 3

我注意到的是,当我尝试在我的核心文件上设置$ _SESSION时,它可以工作,但如果我试图包含将会话设置为核心文件的文件,则会抛出该错误。这是core.php的片段:

<?php
session_start();
//some code
//if I type $_SESSION['lang'] = 'smth'; here, it will work
if (!isset($_GET['page']) || $_GET['page'] == "" || !file_exists('pages/'.$_GET['page'].'.php')) {
  include 'pages/home.php';
} else {
  include 'pages/'.$_GET['page'].'.php';
}
?>

页/ lang.php:

<?php
$lang = $_GET['lang'];
$_SESSION['lang'] == $lang;
var_dump($_SESSION); //prints an empty array ( array { } )
//header("Location: index.php");
?>

有什么想法吗?谢谢。

1 个答案:

答案 0 :(得分:3)

您需要在每个使用$ _SESSION变量的脚本的开头包含session_start();

也是一个拼写错误:$_SESSION['lang'] == $lang;应该只有一个'='。