Php 在用户未登录时转发浏览器的代码(检查会话变量isset是否未触发)

Php 在用户未登录时转发浏览器的代码(检查会话变量isset是否未触发),php,session,redirect,logout,isset,Php,Session,Redirect,Logout,Isset,如果用户未使用会话数据登录,但该数据不起作用,我试图将我的所有页面设置为转发到登录屏幕。当用户单击链接时,它只会继续指向新链接,而不是转发到登录页面。我知道会话数据已清除,因此这不是问题所在。 以下是相关代码: 页眉: <?php session_start(); if(!isset($_SESSION['answer'])) { header('Location: /?login'); exit; }?> 注销:

如果用户未使用会话数据登录,但该数据不起作用,我试图将我的所有页面设置为转发到登录屏幕。当用户单击链接时,它只会继续指向新链接,而不是转发到登录页面。我知道会话数据已清除,因此这不是问题所在。 以下是相关代码:

页眉:

 <?php
    session_start();
    if(!isset($_SESSION['answer']))
    {
        header('Location: /?login');
        exit;
    }?>
注销:

<?php
session_start();
session_destroy();
if(!isset($_SESSION['answer']))
{
    header('Location: /?login');
    exit;
}
?>

不会取消设置任何全局变量

如果您需要在会话销毁后立即无条件重定向-只需删除
isset
,您不需要它。

不会取消设置任何全局变量


如果您需要在会话销毁后立即无条件重定向-只需删除
isset
,您不需要它。

在其他页面上回答如何执行此操作:

我在我的站点上的每个安全php页面的开头使用必需的。我称之为“auth.php”。如果用户未登录(通过会话变量检查),auth.php会将其重新定向到登录页面

如果你有一个标题,这是一个放置它的好地方(如果它只包括在安全部分,我的是)


“我的注销”页面将销毁会话并将其发送到登录页面。

关于如何在其他页面上执行此操作的响应:

我在我的站点上的每个安全php页面的开头使用必需的。我称之为“auth.php”。如果用户未登录(通过会话变量检查),auth.php会将其重新定向到登录页面

如果你有一个标题,这是一个放置它的好地方(如果它只包括在安全部分,我的是)


我的注销页面会破坏会话并将其发送到登录页面。

谢谢!每一页都有重定向的提示吗?@Christopher:我不能回答这个问题:-(我正试图在会话所在的每一页上重定向!谢谢!每一页都有重定向的提示吗?@Christopher:我不能回答这个问题:-(我正在尝试在会话所在的每个页面上进行重定向!issetThank这对您很有帮助,但您是否看到我的代码中有哪些地方不起作用?@Christopher:
var\u dump($\u Session)
我会按照虫族说的去做,然后无条件重定向。删除你注销页面上的isset。@Mikecito在每个页面上无条件重定向?这样无论我是否登录,我都会被重定向到登录。这正是我想要的机会。我只是做了很长一段路而已--仍然希望知道更多的ef不过这是一个很好的方法。谢谢你,这很有帮助,但是你看到我的代码中哪里不起作用了吗?@Christopher:
var\u dump($\u SESSION)
我会按照虫族说的去做,然后无条件重定向。删除你注销页面上的isset。@Mikecito在每个页面上无条件重定向?这样无论我是否登录,我都会被重定向到登录。这正是我想要的机会。我只是做了很长一段路而已--仍然希望知道更多的ef不过,这是一个非常有效的方法。
<?php
session_start();
session_destroy();
if(!isset($_SESSION['answer']))
{
    header('Location: /?login');
    exit;
}
?>