当我登录时,会生成一个新会话。我怎样才能知道会话的生成对象是什么?
我正在获取会话值,但我如何知道该会话的用户并将其重定向到该页面?
答案 0 :(得分:2)
您不希望在用户登录时创建(新)会话。您可以在每个页面上创建/恢复会话。
这里有一些分解为要点的例子。
<强>的login.php 强>
<?php
session_start();
if ($_POST['user'] == 'john' && $_POST['pwd'] == 'password') {
$_SESSION['loggedIn'] = true;
$_SESSION['firstname'] = 'John';
}
?>
<强> admin.php的强>
<?php
session_start();
if (!isset($_SESSION['loggedIn']) || !$_SESSION['loggedIn']) {
header('location: login.php');
exit();
}
echo 'Hello ' . $_SESSION['firstname'] . '!';
?>
session_start()
创建一个新会话。所有数据($ _SESSION)都存储在服务器上。具有会话ID的新cookie存储在客户端。$_SESSION['loggedIn']
密钥设置为true
session_start()
通过浏览器发送的Cookie恢复会话$_SESSION
数组中,我们注意到了这一点。