拥有一个只有auth人才能看到的文件。并尝试在页面加载之前重定向其他用户。以下方法允许加载我不想要的页面。
<?php
session_start();
// Check if person is logged in
if($_SESSION['login'] != 'true'){ //if login in session is not set
echo "<script>
window.location = 'index.php';
</script>";
}
?>
编辑工作版本。
<?php
session_start();
// Check if person is logged in
if($_SESSION['login'] != 'true'){ //if login in session is not set
header('Location: index.php');
exit;
}
?>
P.S。感谢。
答案 0 :(得分:2)
尝试这样的事情:
<?php
session_start();
// Check if person is logged in
if($_SESSION['login'] != 'true'){ //if login in session is not set
header("Location: index.php");
die();
}
答案 1 :(得分:2)
由于您使用的是PHP,因此您可能需要查看header
文档。更具体地说,在标题上设置Location
将触发302重定向到您希望它转到的页面。例如:
<?php
if($_SESSION['login'] != 'true') {
header('Location: index.php');
exit;
}
?>
这将告诉页面将页面的位置设置为index.php
。但是,请务必注意,您只能在之前将任何标记发送到DOM(例如<html>
标记或此类内容的任何其他内容),或者否则重定向将失败。
您还需要在标头更改后添加exit;
,以确保PHP文件中的任何其他逻辑都不会执行。
答案 2 :(得分:0)
这适合我。
session_start();
// Check if person is logged in
if (!$_SESSION['login'])
{
// Redirect to Login Page
header( 'location: login.php' );
exit;
}
答案 3 :(得分:0)
通过PHP发送位置标头。 http://php.net/manual/de/function.header.php
<?php
header("Location: http://www.example.com/"); /* Browser umleiten */
/* Stellen Sie sicher, dass der nachfolgende Code nicht ausgefuehrt wird, wenn
eine Umleitung stattfindet. */
exit;
?>
编写一个万无一失的登录系统很难实现。我建议你使用经过良好测试的库而不是重新发明轮子。然而,这超出了这个问题的范围。