我在使用 session 锁定页面时遇到问题,我必须这样做 如果没有登录则让它重定向到login.php
这是我的脚本,我已经尝试过很多脚本,但不知怎的,它们都不起作用
<?PHP
include("include/session.php");
?>
<?PHP
if(isset($_SESSION['logged_in'])){
unset($_SESSION['logged_in']);
else
{
header ("location: login.php");
}
?>
<?PHP
if($session->logged_in){
?>
这段代码有时确实有效,但它没有将我重定向到login.php
这是首页和每个子页面上锁定页面的代码 因此尝试访问它应该重定向到login.php
有什么建议吗?
最佳答案
要么你的代码有很多问题,要么我误解了这个问题_
if(isset($_SESSION['logged_in'])){
以不平衡的括号结尾- 如果您从 session 中读取登录状态,为什么要
unset()
登录状态? if($session->logged_in)
与if(isset($_SESSION['logged_in']))
相同吗?
无论如何,我的建议是
- 将
header ("location: login.php");
更改为header ("Location: login.php");
,某些浏览器可能对大写字母比较挑剔 - 减少困惑
,
<?php
include("include/session.php");
if(isset($_SESSION['logged_in']))
{
?>
<!-- whatever you wanna do -->
<?php
}
else
{
header ("Location: login.php");
exit;
}
?>
并绝对确保 include/session.php
中没有输出任何内容(尤其是没有换行符或空格)
关于php - 使用重定向到 login.php 的 session 锁定页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9455056/