我正在MVC体系结构上创建用户登录界面。 该视图具有登录名/密码表单,该表单将把表单结果发送到控制器部分中的文件。控制器将在模型中调用sql查询,以检查是否存在此登录名/密码,如果存在,则使用具有登录名的会话变量将其重定向到首页。
但是,当重定向有效时,会话变量在重定向到主页后似乎并没有通过主页。
这是我的controller / login.php文件
include '../model/query.php'; //the model file with the sql queries
$query = new query();
if ( isset($_GET['login']) && isset($_GET['password']) )
{
$login = $_GET['login'];
$password = $_GET['password'];
$user = $query->checkUser($login, $password);
//this will return an array containing the result of the query that checks the lines with that login and password
if($user)
{
$_SESSION['login'] = $user['login'];
header('Location: ../view/home.php'); //this also works correctly
}
}
这是我的view / home.php文件
include 'page.php';
//page.php is a class that features the elements common to all pages
$page = new page();
$page->body = "test" . print_r($_SESSION);
//I've added the print_r($_SESSION) to check if the session variable's value
echo $page->showpage();
但是,在login.php上计算并返回home.php之后,页面显示错误消息
注意:未定义的变量:第15行的C:[...] \ home.php中的_SESSION”
(第15行是我执行print_r的地方)
然后,页面显示“ test1”(又名“ test”。print_r($ _ SESSION))
答案 0 :(得分:0)
添加session_start();
controller/login.php
的开头,并且view/home.php
的开头