0

私の問題は、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();
    });
});

どこが間違っているのかわからず、大量のコードについてお詫び申し上げます。問題の解決にご協力いただければ幸いです。

4

0 に答える 0