我有下一个问题:
何时用php duplicate de +1到+2执行此查询:
"UPDATE usuario SET WRONG_LOGINS = WRONG_LOGINS + 1 WHERE USUARIO_CORREO = '" . $email . "'";
phpMyadmin的工作原理:
0 = 0 + 1
1 = 1 + 1
2 = 2 + 1
在我的php方法中发生这个:再多加一个数字
0 = 0 + 1
2 = 2 + 1
4 = 4 + 1
6
为什么会发生这种情况?
我的代码:
public function usuarioLogin($email, $pass) {
$con = $this->conectar();
if (!$con) {
return 0;
} else {
$query = "SELECT USUARIO_CODIGO, USUARIO_CORREO, COMUNA_CODIGO, EMPRESA_CODIGO, TUSUARIO_CODIGO, USUARIO_PASSWORD, "
. " USUARIO_NOMBRES, USUARIO_APELLIDOS, USUARIO_FNACIMIENTO, USUARIO_SEXO, USUARIO_DIRECCION,"
. " TEL_CELULAR, WRONG_LOGINS FROM usuario WHERE USUARIO_CORREO = '" . $email . "' and confirmed = 1 limit 1";
$resultado = mysqli_query($con, $query);
if ($resultado) {
$user = $resultado->fetch_assoc();
if (password_verify($pass, $user['USUARIO_PASSWORD'])) {
if ($user['WRONG_LOGINS'] <= 10) {
session_start();
session_regenerate_id();
$_SESSION['USUARIO_CODIGO'] = $user['USUARIO_CODIGO'];
$_SESSION['USUARIO_CORREO'] = $user['USUARIO_CORREO'];
$_SESSION['COMUNA_CODIGO'] = $user['COMUNA_CODIGO'];
$_SESSION['EMPRESA_CODIGO'] = $user['EMPRESA_CODIGO'];
$_SESSION['TUSUARIO_CODIGO'] = $user['TUSUARIO_CODIGO'];
$_SESSION["USUARIO_NOMBRES"] = $user["USUARIO_NOMBRES"];
$_SESSION["USUARIO_APELLIDOS"] = $user["USUARIO_APELLIDOS"];
$_SESSION["USUARIO_FNACIMIENTO"] = $user["USUARIO_FNACIMIENTO"];
$_SESSION["USUARIO_SEXO"] = $user["USUARIO_SEXO"];
return 1;
} else {
return 2;
}
} else {
$this->registerWrongLoginAttemp($email);
return 3;
}
}
$con->close();
}
}
public function registerWrongLoginAttemp($email) {
//el update en vez de suma 1 suma 2
$con = $this->conectar();
if ($con) {
$query = "UPDATE usuario SET WRONG_LOGINS = WRONG_LOGINS + 1 WHERE USUARIO_CORREO = '" . $email . "'";
mysqli_query($con, $query);
}
$con->close();
}
之前我有过这个代码(问题是我点击按钮#summitForm执行提交loginForm。错误)
$(document).ready(function () {
$("#submitForm").on('click', function () {
$("#loginForm").submit();
});
$("#loginForm").on("submit", function () {
var postEmail = $("#email").val();
var postPass = $("#password").val();
var parametros = {"email": postEmail, "password": postPass};
var formURL = $(this).attr("action");
$.ajax({
url: formURL,
type: "POST",
data: parametros
});
});
});
解决方案是将所有代码放在事件中,单击#submitForm:
$("#submitForm").on('click', function () {
var postEmail = $("#email").val();
var postPass = $("#password").val();
var parametros = {"email": postEmail, "password": postPass};
var formURL = $(this).attr("action");
$.ajax({
url: formURL,
type: "POST",
data: parametros
});
$("#loginForm").submit();
});