如果这是登录表单的位置,如何在索引页面上启动会话?

时间:2013-05-08 17:33:31

标签: php session login

当我加载index.php时,没有会话启动。有一个登录表单使用我创建的登录类,当用户成功登录时,他将被带回index.php,此时会话应该开始。

只有在成功登录后才能确保会话在索引页面上启动,我需要做什么?

3 个答案:

答案 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