public function __construct($db){
$this->db = $db;
$this->lang = strtolower($_SESSION['la']);
}
我使用AJAX调用一个简单的get()函数,但返回的错误是
<b>Notice</b>: Undefined variable: _SESSION in <b>D:\Sites\proman\class\Projects.php</b> on line <b>10</b><br />
在我的index.php中,我有session_start(),所以不是问题。我甚至可以在构造方法中print_r($ _ SESSION),我看到&#39; la&#39;的会话变量。##
我尝试将session_start()也添加到Projects.php类的顶部,但后来我收到会话已经开始的警告。
这是我在index.php ##顶部的会话init 如果用户没有选择
,它还会设置默认语言(la)变量<?php
session_start();
if(!isset($_SESSION['la'])) $_SESSION['la'] = "EN";
?>
这是Projects Constructor ##中print_r()的输出 数组([la] =&gt; FR) 任何想法可能会在这里出错? 谢谢!
答案 0 :(得分:2)
我认为
<b>Notice</b>: Undefined variable: _SESSION in <b>D:\Sites\proman\class\Projects.php</b> on line <b>10</b><br />
是您的ajax调用的结果。正确?
问题是您在使用ajax请求的文件中缺少session_start()
。我认为你班上的文件是Projects.php
。由于您使用的是ajax,而不是include/require
index.php页面上的session_start()
是不够的。 ajax页面需要单独session_start()
(此处为Projects.php)。
在你的ajax页面(Projects.php)上添加一个新的session_start()
,让我知道它是否解决了这个问题。