我尝试制作登录系统,这将通过php和ajax.i检查用户名和密码,显示我已经完成的工作。
HTML
<div class="container">
<div id="show-error" style="display:none;" class="alert alert-warning"></div>
<form class="form-signin">
<h2 class="form-signin-heading">Please sign in</h2>
<input type="text" id="user" class="form-control" placeholder="Email address" required autofocus>
<input type="password" id="pass" class="form-control" placeholder="Password" required>
<a class="btn btn-lg btn-primary btn-block" onclick="submitfom();" >Sign in</a>
</form>
的JavaScript
function submitfom() {
$.ajax({
type: "POST",
url: "checking.php",
data: {user: $("#user").val(),pass: $("#pass").val()},
success: function(data){$('#show-error').css("display","inline");$('#show-error').html(data);},
});
}
PHP
session_start();
include('../../../config.php');
if((isset($_POST['user'])) && (isset($_POST['pass'])) ){
$user = $_POST['user'];
$pass = $_POST['pass'];
$query = mysql_query("SELECT user FROM admin_user WHERE user ='".$user."' ");
$query2 = mysql_query("SELECT pass FROM admin_user WHERE pass ='".$pass."' ");
$result= mysql_num_rows($query);
$result2= mysql_num_rows($query2);
if((!empty($result)) && (!empty($result2))){
$_SESSION['admin']=$user;
echo "Welcome ". $_SESSION['admin'];
header('Location: ../../index.php');
}
else {echo "Please Write correct <strong>username and password</strong>";}
}
else "Some thing miss";
每件事都运行正常,但现在我只需要当用户写正确的用户名和密码而不是我只需要重定向。我正在使用标题位置功能但实际上我通过ajax发送表单值这就是为什么我的重定向不工作。我不要知道为什么请帮忙。
答案 0 :(得分:2)
使用位置标头重定向将“正常”。它将告诉浏览器从新URL获取Ajax响应的数据。
如果要将用户发送到新的页面,则必须将一些数据返回到浏览器,检测它,然后使用JavaScript将location
设置为新值
答案 1 :(得分:2)
你能在javascript中进行重定向吗?
将完成和失败方法添加到jQuery ajax调用中,(假设版本> 1.8)
done: function(data){
window.location.replace("../../index.php");
},
fail: function(){
$('#show-error').css("display","inline");
$('#show-error').html(data);
}
答案 2 :(得分:1)
当ajax授权成功使用javascript成功回调中的window.location="<URL>"
时。