我的问题是我有一个仅适用于 php 的登录面板。由于我做了一些更改以显示加载图标,然后刷新页面,我不得不实现 Ajax。
我的问题开始于,由于某种原因,当我单击提交按钮时,显示加载图标并且请求正确启动,但也出现错误“未定义索引”。
首先这是登录页面的 html 代码部分:
<form id="formlogin"name="form1">
<table id="tabla_usuario">
<tr>
<td>Usuario</td>
<td><input id="inputlogin" type="text" size="18" name="user" style="line-height:5px;height:20px;"></td>
</tr>
<tr>
<td>Contraseña</td>
<td><input id="inputlogin" type="password" size="18" name="pass" style="line-height:5px;height:20px;"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="boton" value="Login" id="botonlogin"/></td>
</tr>
</table>
</form>
php登录代码是这样的:
<?php
if($conexion->connect_errno > 0){
die('Unable to connect to database [' . $conexion->connect_error . ']');
}
// username and password sent from form
$minombreusuario= $_POST['user'];
$micontrasena= $_POST['pass'];
//consulta//
$sql = $conexion->prepare("SELECT * FROM $tbl_name WHERE Usuario= ? and password= ?");
if (!$sql) {
print ("Error en prepare: " . $conexion->error . "n");
exit;
}
if (!$sql->bind_param("ss",$minombreusuario,$micontrasena)) {
print("Error en bind_param: " . $sql->error . "n");
exit;
}
if (!$sql->execute()) {
echo "Falló la ejecución: (" . $sql->errno . ") " . $sql->error;
}
$sql->store_result();
if ($sql->num_rows==1) {
//Inicio session//
$_SESSION['usuari'] = $_POST['user'];
}
else {
echo "Wrong Username or Password";
}
?>
然后这是ajax js:
$(document).ready(function(){
$('#botonlogin').on('click',function(e){
e.preventDefault();
var datos = $('#formlogin').serialize();
$.ajax({
url:'checklogin.php',
data: datos,
type: 'POST',
success: function() {
window.location.reload(true);
}
});
});
});
最后显示加载脚本:
<script type="text/javascript">
$(document).ready(function() {
$("#contenedor_carga").on("ajaxStart", function(){
$(this).show();
}).on("ajaxStop", function(){
$(this).hide();
});
});
不知道我哪里错了,我为大量的代码道歉,希望你能帮助我解决问题。