我有一段写的代码
$stmt = $mysqli->prepare("INSERT INTO `verifyAccounts` (`CUsername`, `CPassword`) VALUES (?,?)");
$stmt->bind_param("ss", $CUsername, $CPassword);
$stmt->execute();
$stmt = $mysqli->prepare("SELECT `Started` FROM `verifyAccounts` WHERE `CUsername` = ?");
do {
$stmt->bind_param("s", $CUsername);
$stmt->execute();
$stmt->bind_result($Startedvalue);
echo $Startedvalue;
sleep(2);
} while ($Startedvalue < 2);
if ($Startedvalue == 2) {
echo "Correct";
} elseif ($Startedvalue == 3) {
echo "Incorrect";
}
$stmt = $mysqli->prepare("DELETE FROM `verifyAccounts` WHERE `CUsername` = ?");
$stmt->bind_param("s", $CUsername);
$stmt->execute();
出于某种原因,这似乎不起作用,我从未收到回复,说"正确"或"不正确",账户也没有被删除。它似乎被困在Do While循环中,但$Startedvalue
也从未得到响应。
这是我有的Ajax
function verifyAccount(f) {
f.preventDefault();
var CUsername = $('#CUsername').val();
var CPassword = $('#CPassword').val();
$.ajax({
type: 'POST',
data: {
CUsername: CUsername,
CPassword: CPassword
},
url: 'verifyAccount.php',
success: function(data) {
console.log(data);
if (data == "Correct") {
$("#verifyPasswordText").text('Valid Login');
} else if (data == "Incorrect") {
$("#verifyPasswordText").text('Invalid Login');
$("#verifyPasswordOKC").prop("disabled", false);
} else if (data == "CUsername") {
$("#verifyPasswordText").text('Fill out your OKC Username');
$("#verifyPasswordOKC").prop("disabled", false);
} else if (data == "CPassword") {
$("#verifyPasswordText").text('Fill out your OKC Password');
$("#verifyPasswordOKC").prop("disabled", false);
}
},
error: function(xhr, err) {
console.log("readyState: " + xhr.readyState + "'nstatus: " + xhr.status);
console.log("responseText: " + xhr.responseText);
}
});
}
诚实地不知道以这种方式处理登录是否是个好主意,但
如果没有任何内容修改"已启动",则您提交的代码中没有任何内容会修改,那么您将被困在do..而
至于没有回波
- 确保在输出
header( 'Content-type: text/html; charset=utf-8' );
之前设置了内容类型 - 每次回波后冲洗
flush(); ob_flush();