我是使用jquery mobile with php的新手。我提交按钮后,我的登录表单上有一点问题,提交按钮,它前往'home.php'页面,但url也没有去home.php。 (它仍然是/login.php)。我该如何解决这个问题?
<?php
include 'core/config.init.php'; //include all sql connect,function etc.
if(logged_in() === true)
{
header('Location: home.php');
}
if(empty($_POST) === false)
{
$check_user = true;
$check_pass = true;
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) === true || empty($password) === true)
{
$error = 'You need to enter username and password!';
$check_user = false;
$check_pass = false;
}
else if(user_exists($username) === false )
{
$check_user = false;
}
$login = login($username, $password);
if($login === false)
{
$error = 'Username/password is incorrect!';
$check_pass = false;
}
else
{
setcookie("username", "$username", time()+1720000);
header('Location: home.php');
}
}
//print_r($error);
?>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
<link rel="stylesheet" href="core/css/login.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
<script type="text/javascript" src="core/jquery/jquery-latest.js"></script>
<script src="core/jquery/login.js"></script>
</head>
<body>
<div data-role="page" data-theme="a">
<div id = "header-text-area">
<span id= "header-text">Login</span>
</div>
<div data-role="content" style="padding: 15px">
<form action="login.php" method="POST">
<div data-role="fieldcontain" class="ui-hide-label">
<input name="username" id="textinput1" placeholder="Username" value="test" type="text" />
</div>
<div data-role="fieldcontain" class="ui-hide-label">
<input name="password" id="textinput2" placeholder="Password" value="test" type="password" />
</div>
<div id = "submit-area">
<input type="submit" data-theme="b" value="Submit" id = "sub1"/>
</div>
</form>
</div>
</div>
</body>
答案 0 :(得分:3)
您需要将data-ajax="false"
添加到表单标记中。这将把表单提交到您的操作URL,而不使用内置于jquery mobile的Ajax导航。此外,您应该在表单操作中使用完整的URL。 (jquery mobile有时会感到困惑)
答案 1 :(得分:-1)
每次致电后
header("Location: home.php");
你需要添加这样的一行:
exit();
这可以解决你的问题。