【发布时间】:2011-01-11 00:10:21
【问题描述】:
再次,非常菜鸟的 PHP 问题。
我有一个非常简单的登录页面
<?php
session_start();
if (isset($_SESSION['username']))
{
header('Location: main.php');
exit();
}
if (isset($_POST['submit']))
{
$user = $_POST['user'];
$pass = $_POST['pass'];
if (try_login($user,$pass))
{
$_SESSION['username'] = $user;
header('Location: main.php');
exit();
}
}
?>
<html> <!-- and login form below... >
还有一个非常简单的主页:
<?php
session_start();
if (!isset($_SESSION['username']))
{
header('Location: .');
exit();
}
?>
<html> <!-- etc, etc -->
我预计会发生以下事情:
- 如果我在登录前导航到http://localhost/main.php,我应该被重定向到http://localhost/。
- 如果我导航到http://localhost/ 并成功登录,我应该会被重定向到http://localhost/。
不幸的是,#2 没有发生。我的代码可能有什么问题?
【问题讨论】:
-
我猜你在 #2 中有错字。否则就没有意义了。
-
这不是错字。我以为它会起作用。现在我将重定向更改为
header('Location: /')。