这是我的代码:
的login.php:
require "auth.php";
$correct_username_password = true;
$user_id = 1;
if($correct_username_password == true) {
startSession($user_id);
}
auth.php:
function startSession($user_id) {
$_SESSION['user_id'] = $user_id;
session_start();
header('Location: https://www.example.com/successpage');
}
但是我的会话没有开始。我知道它没有启动,因为我的header
到https://www.example.com/successpage没有重定向。怎么了?
答案 0 :(得分:1)
在使用session_start();
之前,您需要$_SESSION
。
这是一个有效的代码示例:
// auth.php:
function startSession($user_id) {
session_start();
$_SESSION['user_id'] = $user_id;
header('Location: https://www.example.com/successpage');
exit();
}
// login.php:
require('auth.php');
$correct_username_password = true;
$user_id = 1;
if($correct_username_password == true) {
startSession($user_id);
}
var_dump($_SESSION);
注意:如果您在exit();
之后没有header('Location: xxx');
,则会加载页面的其余部分。