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;
}
?>