我有一個非常簡單的功能,它會檢查['id']是否存在於會話中並重定向(如果是這種情況),位於我的login.php頂部 它的工作原理,但只有在我提交登錄表單兩次後。PHP如果用戶登錄不工作首先刷新
require_once'inc/header.inc';
HTML之前包含:
<?php
require 'inc/init.php';
session_regenerate_id();
?>
的init.php包含
<?php
session_start();
if(!isset($_SESSION) || empty($_SESION)){
require 'inc/db.php';
require 'users.class.php';
require 'general.class.php';
require 'functions.php';
$users = new Users($db);
$general = new General($db);
$errors = array();
}
?>
這是我的login.php的頂部:
<?php
require_once 'inc/header.inc';
if ($general->is_logged_in()) {
header("Location: index.php");
exit;
}
然而,頁面不斷loadin第一次。
的功能,如果你照顧它:
public function is_logged_in() {
if (isset($_SESSION['id'])) {
return true;
} else {
return false;
}
}
不要使用.inc作爲includes,請使用.php像其他地方一樣。或者確保已經正確設置了.htaccess,但這仍然是一個糟糕的做法。 (與你的問題無關,但值得一提) – MightyPork
你在哪裏設置'$ _SESSION ['id']'? –
錯字?將'empty($ _ SESION)'改爲'empty($ _ SESSION)' –