等提交我的窗體類的.login
這觸發ajax
調用login.php
裏面的login.php
存在於welcome.php
通話,以確保加密的密碼數據庫匹配並且輸入的用戶名稱存在於數據庫中。提及我的ajax
調用成功嘗試運行也是有幫助的,但不會發生重定向到我的welcome.php
。所以,我對你們所有人的問題是,我是否在正確的莊園裏談論這個問題?Ajax調用重定向到PHP文件,而不是調用另一個php文件
$('.login').on('submit', function(){
// serialize the form
var formData = $(this).serialize();
$.ajax({
type : 'POST',
url : 'login.php',
data : formData,
success: function() {
alert("Success");
},
error: function(xhr) {
alert("fail");
}
})
.done(function (data) {
})
.fail(function (error) {
console.log(data);
});
return false;
});
<html>
<body>
<?php
require 'connect.php';
if((isset($_POST['user-login']) && !empty($_POST['user-login']))||
(isset($_POST['pass-login']) && !empty($_POST['pass-login']))){
$sth = $dbh->prepare('SELECT name FROM test_table WHERE name=?;');
$passLogin = $_POST['pass-login'];
$nameLogin = $_POST['user-login'];
$sth->execute(Array($nameLogin));
if(password_verify($passLogin, $hashed_password) && $sth->rowCount() > 0) {
header("Location:welcome.php");
exit;
}
}
else{
echo 'error';
}
?>
</body>
</html>
*****************************************************************
<html>
<body>
<?php
echo 'welcome';
?>
</body>
</html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" type="text/javascript">
<form class = "login">
<label for="user-login">Username</label>
<input id="user-login" name="user-login"></br>
<label for="pass-login">Password</label>
<input id="pass-login" name="pass-login"></br>
<input type="submit" name= "submit" value="submit" id = "submit">
<a id = "register-a">Register Now</a>
</form>
你認爲'$ hashed_password'會在哪裏奇蹟般地出現?您必須從執行的語句中獲取數據才能看到它 – RiggsFolly
ajax調用不會使頁面重定向,整個要點是在「幕後」發出請求,而無需重定向。 – adeneo
所以我有ajax調用的原因是因爲我最初的設計是不離開頁面,這讓我想知道這是否可能,所以我試圖把它變成重定向。 –