<?php
$username=strip_tags($_POST['username']);
$password=strip_tags($_POST['password']);
$username=stripslashes($username);
$password=stripslashes($password);
$username=mysqli_real_escape_string($dbc,$username);
$password=mysqli_real_escape_string($dbc,$password);
$password=md5($password);
$sql="SELECT * FROM mobile_users WHERE username='$username' LIMIT 1 ";
$query=mysqli_query($dbc, $sql);
$row=mysqli_fetch_array($query);
//$expire=time() +60*60*24*30;
//setcookie("");
//}
$id=$row['idmobile_users'];
$db_password=$row['password'];
$_SESSION['error'] = "could not connect";
if($password==$db_password){
$_SESSION['username']=$username;
$_SESSION['id']=$id;
$_SESSION['last_time']=time();
header("Location: apply_now.php");
}
else {
echo 'Invalid username or password';
}
}
?>
<script>
$(function(){
$(document).on("click", ".button", function(e) {
e.preventDefault();
{
//This will capture all the inputs from the form
var infom = $("#myform").serialize();
//$("#showresult").addClass('loader');
$.ajax({
beforeSend: function() { },
type: "POST",
url: "login.php",
data:infom,
success: function(result){
//$("#showresult").removeClass('loader');
$('#showresult').html(result);
}
});
e.preventDefault();
}
});
});
</script>
好吧所以我希望它从php代码中放置错误消息,其中id在html中,id在span标记中。尝试了很多方法,但似乎无法让它正常工作。我希望somone可以帮我解决这个问题。感谢
答案 0 :(得分:1)
首先,Ajax代码无法理解来自php页面的响应是否是错误或成功响应,您只需返回响应,但在PHP页面中指定它是否是错误。
如果将php页面与html页面分开,那会更好。
这应该在您的 html页面中。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.js"></script>
<script>
$(function(){
$(document).on("click", ".button", function(e) {
e.preventDefault();
{
//This will capture all the inputs from the form
var infom = $("#myform").serialize();
$("#showresult").addClass('loader');
$.ajax({
beforeSend: function() { },
type: "POST",
url: "login.php",
data:infom,
success: function(result){
$("#showresult").removeClass('loader');
$('#showresult').html(result);
}
});
e.preventDefault();
}
});
});
</script>
<style>
.loader{
background-image:url(http://loading.io/assets/img/default-loader.gif);
background-repeat:no-repeat;
background-position:center;
height:100px;
background-size: 30px;
}
</style>
<div id="showresult"></div>
<form id="myform">
<!--your inputs-->
<input name="username" type="text"><br>
<input name="password" type="text"><br>
<button class="button"> submit </button>
</form>
这是在 php页面
上 <?php
//YOUR PHP CODES....
header("Location: apply_now.php");
// i would prefer something like
echo ' welcome '.$username.' ';
echo "<script> window.location.href='apply_now.php';</script>";
}
else {
echo 'Invalid username or password';
}
echo json_encode(array('error' => $error, 'message' => $message, 'redirect' => $redirect));
?>
答案 1 :(得分:0)
我不明白你究竟是什么意思,但是当我看到这些代码时,你的页面是否只是令人耳目一新的提交?如果我不正确,如果您不使用e.preventDefault(),表单将重新加载提交页面。如果它正在重新加载,只包括防止默认值,其余的代码看起来没问题