Php 登录页面上的会话重定向循环解决建议
我希望将上面的所有代码都放在header.php中,我将其包括在内 标题的前几行有:Php 登录页面上的会话重定向循环解决建议,php,Php,我希望将上面的所有代码都放在header.php中,我将其包括在内 标题的前几行有: <?php session_start(); if(!isset($_SESSION["loggedin"])){ header("Location: login.php"); exit;} ?> 在会话开始之前 在登录页面中,您可以检查用户是否已登录,并将其重定向到正确的页面 <?php if( userIsLoggedIn ){ //redirect to main page pa
<?php session_start();
if(!isset($_SESSION["loggedin"])){
header("Location: login.php");
exit;}
?>
在会话开始之前 在登录页面中,您可以检查用户是否已登录,并将其重定向到正确的页面
<?php
if( userIsLoggedIn ){
//redirect to main page page or logout them forcefully
}
?>
//your login form can go here
您可以包装代码
if(!isset($_SESSION["loggedin"])){
header("Location: login.php");
exit;}
在功能中,例如:
function ensureLoggedIn()
{
if (!isset($_SESSION["loggedin"]))
{
header("Location: login.php");
exit;
}
}
然后从需要身份验证的所有页面调用此函数
例如,如果用户未登录,则在secretpage.php上调用此函数将重定向到login.php
Login.php不应具有此功能。在Login.php中包含标题之前,请执行以下操作:
$logging_in = true;
然后,修改标题
if(!isset($_SESSION["loggedin"])){
到
在对代码进行降级表决之前,有人能告诉我代码有什么问题吗?您可以使用session_start启动会话,但不要在登录文件上的函数中运行代码。将函数is_logged_包含在头文件中。然后,只在需要身份验证时从主文件调用该函数。并启动会话\u start调用,而不管对该函数的调用如何。您的想法是正确的,也许您可以更正它,因此它在语法上是正确的?此外,函数的名称有点误导,类似ensureLoggedIn的内容会更多地说明函数的功能,但它不会返回指示用户是否登录的值。有了这些更正,我投你一票。
if(!isset($_SESSION["loggedin"])){
if(!isset($_SESSION["loggedin"]) && !isset($logging_in))