7

我一直在尝试使以下功能在我的网站上运行,但是我有点挣扎。也许你们中的一个可以帮助我?

我正在开发一个网站,除非您已登录,否则该网站必须无法访问(当然登录除外)。如果用户未登录,我试图自动重定向到登录页面。我正在使用 HTML、CSS , 和 PHP 目前。

如果需要我的剩余资源,请告诉我,我将暂时在线托管该网站。

4

4 回答 4

16

如果您不使用任何框架,请简单地尝试:

if(!isset($_SESSION['login'])){ //if login in session is not set
    header("Location: http://www.example.com/login.php");
}

会话参数和重定向位置取决于您在 Web 项目中使用的体系结构。

于 2013-05-24T13:13:16.917 回答
3
<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

或在javascript中

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
于 2013-05-24T13:11:27.747 回答
0

您正在使用的登录脚本已经在检查用户 ID 是否登录index.php

if ($login->isUserLoggedIn() == true) {
    // the user is logged in. you can do whatever you want here.
    // for demonstration purposes, we simply show the "you are logged in" view.
    include("views/logged_in.php");

} else {
    // the user is not logged in. you can do whatever you want here.
    // for demonstration purposes, we simply show the "you are not logged in" view.
    include("views/not_logged_in.php"); // Change this part to your needs.
}

您可以将其更改include("views/not_logged_in.php");为您想要的任何页面。

于 2013-05-24T13:27:23.490 回答
0

当您确定他们没有登录时,您可以发出重定向标头:

header("Location: http://www.example.com/log-in/");

这在PHP Manual: Header中有详细描述。

于 2013-05-24T13:11:24.213 回答