PHP没有启动会话?

Pet*_*art 2 php mysql session

我编写了一个简单的PHP登录脚本来启动会话:

//Lets start our session
//Create our session
$_SESSION['token'] = md5($user['salt'].$user['user_id'].$user['username']);
$_SESSION['id'] = $user['user_id'];
$_SESSION['username'] = $user['username'];
header('Location: index.php');
die();
Run Code Online (Sandbox Code Playgroud)

在索引文件中我有这个代码:

if(array_key_exists('id', $_SESSION) && array_key_exists('username', $_SESSION)):
    echo 'Welcome user';
else:
    include 'login.php';
endif;
Run Code Online (Sandbox Code Playgroud)

每次用户登录时都不会启动会话.我确保密码和usename在数据库上(使用我自己的验证脚本).谁能看到我失踪的任何东西.

谢谢

彼得

Mic*_*ski 7

你错过了开始会议最重要的部分: session_start()

session_start();
$_SESSION['token'] = md5($user['salt'].$user['user_id'].$user['username']);
$_SESSION['id'] = $user['user_id'];
$_SESSION['username'] = $user['username'];
header('Location: index.php');
die();
Run Code Online (Sandbox Code Playgroud)

并在索引页面上:

session_start();
if(array_key_exists('id', $_SESSION) && array_key_exists('username', $_SESSION)):
    echo 'Welcome user';
else:
    include 'login.php';
endif;
Run Code Online (Sandbox Code Playgroud)


Dim*_*mme 5

添加session_start();到您正在使用会话的所有文件的顶部.