在用户成功登录后尝试将用户重定向到 index.php。除了重定向之外,我一切正常。现在已经环顾了大约一个小时,但没有运气..我确定它与拥有该页面的 jQueryMobile 有关
试过
header('Location: index.php');
什么都没发生。
也试过
echo '<script type="text/javascript">$.mobile.changePage($(\'index.php\'), {transition : "slide"});</script>';
如果我将它们作为我的 php 代码的第一部分,两者都会进行重定向,但是当放置在我需要的地方时,它们什么也不做。
这是我的代码:
<?php include "layouts/header.php";
if (isset($_POST['submit'])) { // Form has been submitted.
$username = trim($_POST['username']);
$password = trim($_POST['password']);
// Check database to see if username/password exist.
$hashpass = sha1($password);
$found_user = User::authenticate($username, $hashpass);
if ($found_user) {
$session->login($found_user);
$message = "Logged in";
// Redirect to index.php ********
} else {
// username/password combo not found
$message = "Username/password combination incorrect.";
$forgotdisplay = "visible";
}
} else { // Form was not been submitted.
$username = "";
$password = "";
}
?>
</head>
<body>
<div data-role="page" id="loginForm">
<div data-role="header">
<h1>Assessment</h1>
</div>
<div data-role="content" class="centerContent">
<h2>Login</h2>
<p><?php echo output_message($message); ?></p>
<form action="login.php" method="post" data-ajax="false">
<table>
<input type="text" id="username" name="username" maxlength="50" placeholder="username" value="<?php echo htmlentities($username); ?>" />
<input type="password" id="password" name="password" maxlength="30" placeholder="password" value="<?php echo htmlentities($password); ?>" />
<input type="submit" name="submit" value="Login" />
</form>
<a href="register.php" data-role="button" data-transition="slide">Sign Up</a>
<a href="forgot.php" data-role="button">Forgot Your Password?</a>
<p id="validate-status"></p>
</div>
</div>
</body>
</html>
提交有效凭据后,$message
确实会正确更改为“登录”,因此我知道我在脚本中已经走了这么远。也尝试过data-ajax="false"
和"true"