当我加载index.php时,没有会话启动。有一个登录表单使用我创建的登录类,当用户成功登录时,他将被带回index.php,此时会话应该开始。
只有在成功登录后才能确保会话在索引页面上启动,我需要做什么?
答案 0 :(得分:3)
会话和身份验证不是同义词。您可以在不记录的情况下启动会话。您可以设置会话特定变量并检查它以确定用户是否已登录。
只需在页面顶部启动会话,无论用户是否登录。
答案 1 :(得分:0)
不要担心session_start()它不会设置它只会启动会话的任何会话。所以你可以把session_start()放在文件顶部
当您运行登录sql查询并检查成功结果时,设置会话相当简单如果登录成功则调整条件然后设置会话,类似这样
if(sussessful_login) {
$_SESSION['yoursessionname'] = 'value';
}
答案 2 :(得分:0)
你正处于陷阱状态。登录的成功将存储在 IN 会话中,因此您必须启动会话以检查用户是否已登录。
你想要更像这样的东西
<?php
session_start(); // ALWAYS start a session, regardless
if(!isset($_SESSION['logged_in'])) {
... not login sentinel set, redirect to login page ...
}
... proceed onwards