页面重定向PHP

时间:2014-07-27 23:24:44

标签: php html

拥有一个只有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。感谢。

4 个答案:

答案 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;
?>

编写一个万无一失的登录系统很难实现。我建议你使用经过良好测试的库而不是重新发明轮子。然而,这超出了这个问题的范围。