-1

如何检查是否$_SESSION['myusername']为空,如果是,则将它们重定向到index.html

我目前正在使用:

<?php
session_start();
/*** begin the session ***/
if(!isset($_SESSION['myusername']))
{
    header('Location:index.html');
}
?>

但这会让非授权用户留下来。

4

7 回答 7

2

利用

 <?php
    session_start();
    /*** begin the session ***/
    if(empty($_SESSION['myusername']))
    {
    header('Location:index.html');;
    }
    ?>
于 2013-09-27T09:10:37.043 回答
0

将您的代码更改为此

<?php
session_start();
/*** begin the session ***/
if(!$_SESSION['myusername'])
{
header('Location:index.html');;
}
?>
于 2013-09-27T09:12:31.947 回答
0

exit()die()之后header()

于 2013-09-27T09:16:24.440 回答
0

也许您应该使用更强大的方法来控制对您的页面的访问,例如 RBA 系统...

看看这个,对我帮助很大

于 2013-09-27T09:12:42.457 回答
0

Try to like this:

session_start();
if(!isset($_SESSION['blah']) && empty($_SESSION['blah'])) {
  header('Location:index.html'); 
}
于 2013-09-27T09:15:36.317 回答
0

我知道这是旧的;但你没有分享完整的代码。

我知道这是来自本教程:http ://www.phpeasystep.com/phptu/6.html

如果你检查你的日志,你会发现不能在 HTML 标记之后设置标题。如果您查看教程中的代码,您会注意到他在顶部有两个 HTML 注释。

删除这些,PHP将能够设置标题并重定向用户。else否则,在语句中加载页面并在if. 希望这可以帮助。

另外,我相信两年后你会变得更老更聪明;但这是一个糟糕的登录过程,并且(因为代码无法逐字运行)一个糟糕的教程。例如,我仍然可以获取页面的内容,curl http://example.com/protectedpage.php因为它不会重定向我,它会为页面的其余部分提供服务。

于 2016-01-12T22:28:52.043 回答
0
if(isset($_POST['submit'])){
echo "Success";

}else{
header("location:yoursiteurl");
}
于 2017-11-07T15:58:03.760 回答