Ajax does not work on the server

1

I have a form in which I check by ajax if the ID and / or email already exist in the DB. In the "local server" it works correctly, but when I upload it to another external server it does not work. Somebody could help me? Thanks.

my code:

 <html lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Nuevo Cadete</title>
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
      <script type="text/javascript" src="js/jquery.min.js"></script>
      <script type="text/javascript" src="js/bootstrap.min.js"></script>
      <link rel="stylesheet" href="css/jquery-ui.css">
      <script src="js/jquery-1.10.2.js"></script>
      <script src="js/jquery-ui.js"></script>
      <script>
    function numeros(e){
    key = e.keyCode || e.which;
    tecla = String.fromCharCode(key).toLowerCase();
    letras = "0123456789";
    especiales = [];

    tecla_especial = false
    for(var i in especiales){
 if(key == especiales[i]){
     tecla_especial = true;
     break;
        } 
    }

    if(letras.indexOf(tecla)==-1 && !tecla_especial)
        return false;
}
  </script>
   <script>
  $(document).ready(function(){

      var consulta;

      //hacemos focus
      $("#dni").focus();

      //comprobamos si se pulsa una tecla
      $("#dni").keyup(function(e){
             //obtenemos el texto introducido en el campo
             consulta = $("#dni").val();

             //hace la búsqueda
             $("#resultadoDni").delay(500).queue(function(n) {      


                        $.ajax({
                              type: "POST",
                              url: "comprobarDni.php",
                              data: "b="+consulta,
                              dataType: "html",
                              error: function(){
                                    alert("error petición ajax");
                              },
                              success: function(data){                                                      
                                    $("#resultadoDni").html(data);
                                    n();
                              }
                  });

             });

      });

});
 </script>
    <script>
  $(document).ready(function(){

      var consulta;

      //comprobamos si se pulsa una tecla
      $("#mail").keyup(function(e){
             //obtenemos el texto introducido en el campo
             consulta = $("#mail").val();

             //hace la búsqueda
             $("#resultadoMail").delay(500).queue(function(n) {      


                        $.ajax({
                              type: "POST",
                              url: "comprobarMail.php",
                              data: "b="+consulta,
                              dataType: "html",
                              error: function(){
                                    alert("error petición ajax");
                              },
                              success: function(data){                                                      
                                    $("#resultadoMail").html(data);
                                    n();
                              }
                  });

             });

      });

});
 </script>
  <SCRIPT LANGUAGE="JavaScript">
function validar_clave() {
var caract_invalido = " ";
var cla1 = document.mi_formulario.mi_clave.value;
var cla2 = document.mi_formulario.mi_clave2.value;
if (cla1 == '' || cla2 == '') {
alert('Debes introducir tu clave en los dos campos.');
return false;
}
if (document.mi_formulario.mi_clave.value.indexOf(caract_invalido) > -1) {
alert("Las claves no pueden contener espacios");
return false;
}
else {
if (cla1 != cla2) {
alert ("Las claves introducidas no son iguales");
document.getElementById('contrasena').value = '';
document.getElementById('validarContrasena').value = '';
document.getElementById('contrasena').focus();
return false;
}
else {
alert('Contraeña correcta');
return true;
      }
   }
}
</script>
   </head>
   <body>
      <nav class="navbar navbar-default">
         <div class="container-fluid">
            <div class="navbar-header">
               <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
               <span class="sr-only">Toggle navigation</span>
               <span class="icon-bar"></span>
               <span class="icon-bar"></span>
               <span class="icon-bar"></span>
               </button>
            </div>
            <div id="navbar" class="navbar-collapse collapse">
               <ul class="nav navbar-nav">
                  <li class="active"><a href="#"><b>Volver</b></a></li>
               </ul>
            </div>
            <!--/.nav-collapse -->
         </div>
         <!--/.container-fluid -->
    </nav>
    <div class="container">
        <div class="row">
          <div class="col-md-12">
            <div class="col-md-1"></div>
            <div class="col-md-10">
              <form class="form-horizontal" method="post" action="insertarDatosCadete.php" name="mi_formulario" onSubmit="return validar_clave()">

            <div class="form-group">
                <label class="control-label col-sm-2">Dni:</label>
                <div class="col-sm-10">
                  <input style="text-align: center;" id="dni" autofocus 
                  title="Solo se acepta el dni completo (8 digitos)" 
                  id="usuario" name="usuario" maxlength="8" class="form-control" 
                  placeholder="Ingresa El Dni" onkeypress="return numeros(event)" pattern=".{8,8}" 
                  required onPaste="return false">
                  <center><div id="resultadoDni"></div></center>



              </div>
               <center><div id="resultado"></div></center>
            </div>
            <div class="form-group">
                <label class="control-label col-sm-2">Mail:</label>
                <div class="col-sm-10">
                <input class="form-control" type="email" placeholder="Ingresa el mail" 
                name="mail" id="mail" disabled onPaste="return false" required>
<center><div id="resultadoMail"></div></center>
              </div>
            </div>
              <div class="form-group">
                <label class="control-label col-sm-5">Ingresa tu contraseña:</label>
                <div class="col-sm-7">
                <input class="form-control" type="password" placeholder="Ingresa la contraseña (De 6 a 10 digitos)" 
                title="La contraseña debe tener como minimo 6 caracteres y como maximo 10."
                name="mi_clave" id="contrasena" required 
                pattern=".{6,10}"
                title=""
                maxlength="10"
                disabled>
              </div>
            </div>
              <div class="form-group">
                <label class="control-label col-sm-5">Ingresa tu contraseña:</label>
                <div class="col-sm-7">
                <input class="form-control" type="password" placeholder="Ingresa la contraseña (De 6 a 10 digitos)" 
                title="La contraseña debe tener como minimo 6 caracteres y como maximo 10."
                name="mi_clave2" id="validarContrasena" required 
                pattern=".{6,10}"
                title=""
                maxlength="10"
                disabled>
              </div>
            </div>

                          <div class="form-group">
                <label class="control-label col-sm-5">Ingresa tu contraseñadasdasd:</label>
                <div class="col-sm-7">
                <input type="text" id="otro" required>
              </div>
            </div>


  <div class="form-group"> 
    <div class="col-sm-12">
      <center><button id="boton" type="submit" class="btn btn-danger" disabled>Enviar</button></center>
    </div>
  </div>
</form>


   </body>
</html>  

This is the checkMail.php file

<?php
      $user = $_POST['b'];

      if(!empty($user)) {
            comprobar($user);
      }

      function comprobar($b) {
            $con = mysql_connect('localhost','root', '');
            mysql_select_db('mibd', $con);

            $sql = mysql_query("SELECT * FROM mitabla WHERE mail = '".$b."'",$con);

            $contar = mysql_num_rows($sql);

            if($contar == 0){
                  echo "<script>document.getElementById('contrasena').disabled = false;</script>";
                  echo "<script>document.getElementById('validarContrasena').disabled = false;</script>";
                  echo "<script>document.getElementById('boton').disabled = false;</script>";
            }else{
                  echo "<script>document.getElementById('contrasena').value = '';</script>";
                  echo "<script>document.getElementById('contrasena').disabled = true;</script>";
                  echo "<script>document.getElementById('validarContrasena').value = '';</script>";
                  echo "<script>document.getElementById('validarContrasena').disabled = true;</script>";
                  echo "<span style='font-weight:bold;color:red;'>Ya existe un usuario con ese mail</span>";
            }
      }     
?>

This is the checkDni.php file

<?php
      $user = $_POST['b'];

      if(!empty($user)) {
            comprobar($user);
      }

      function comprobar($b) {
            $con = mysql_connect('localhost','root', '');
            mysql_select_db('mibd', $con);

            $sql = mysql_query("SELECT * FROM mitabla WHERE dni = '".$b."'",$con);

            $contar = mysql_num_rows($sql);

            if($contar == 0){
                  echo "<script>document.getElementById('mail').disabled = false;</script>";
            }else{
                  echo "<script>document.getElementById('mail').value = '';</script>";
                  echo "<script>document.getElementById('mail').disabled = true;</script>";
                  echo "<script>document.getElementById('contrasena').value = '';</script>";
                  echo "<script>document.getElementById('contrasena').disabled = true;</script>";
                  echo "<script>document.getElementById('validarContrasena').value = '';</script>";
                  echo "<script>document.getElementById('validarContrasena').disabled = true;</script>";
                  echo "<span style='font-weight:bold;color:red;'>Ya existe un usuario con ese dni</span>";  
            }
      }     
?>
    
asked by Damián 24.09.2017 в 00:10
source

1 answer

0

The problem that I see is not in AJAX , it's in the PHP tag. These are two functions with the same name that generate this error:

  

Fatal error : Can not redeclare comprobar() (previously declared ...)

It's rare that you have not detected it in local because it's a FATAL ERROR that would not let you continue.

On the other hand it seems that you are loading two jQuery files, one on the line 7 and another on the 10

    
answered by 24.09.2017 в 03:07