0

我是php新手,所以我需要帮助。我有一个 page=start 和一个 page=login。在 page=login 中,我有一个导航到 page=register 的链接。但它什么也没做。

页=开始

$page = 'home';
if (isset($_GET['page']) && file_exists('pages/'.$_GET['page'].'.php')) {
    $page = $_GET['page'];
}

if (empty($_SESSION['Auth']) && $page != 'login') {
    header('location:index.php?page=login');

} elseif (!empty($_SESSION['Auth']) && $page == 'login') {
    header('location:index.php?page=home');
}
if (file_exists('actions/'.$page.'.php')) {
    include('actions/'.$page.'.php');
}

页面=登录

<form name="login" action="index.php?page=login&action=login" method="post">
        <p class="log">Hey! Log In</p>
        <input type="text" name="username" id="username"/><br/><br/>
        <input type="text" name="password" id="password"/><br/><br/>
        <input type="submit" name="submit" value="submit"/>
    </form>
    <a href='index.php?page=register'>Register</a>
4

1 回答 1

0

在没有看到更多代码的情况下,我猜想$_SESSION['Auth']当您尝试访问注册页面时没有发生重定向。您可能想要添加一个例外,以便任何人都可以访问它。

例如

$whiteListedPages = array('login', 'register');
if (empty($_SESSION['Auth']) && !in_array($page, $whitelistedPages)) {
    header('location:index.php?page=login');

}
于 2013-03-08T11:35:01.577 回答