Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2014, 15:06
Avatar de manuparquegiralda
manuparquegiralda
 
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Problema usuario repetido

A ver prueba a hacerlo así. Así hago yo mis funciones y siempre me funcionan.

- No entiendo porque haces el delay ese en la función, yo lo quitaría para probar.

- Obviamente el fallo de la imagen es porque cada vez que levantas la tecla, se vuelve a poner la imagen.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.       $("#usuarios").focus(function(){
  4.           $("#resultado").html('<img src="botones_img/ajax-loader.gif" />');
  5.       });
  6.       $("#usuarios").keyup(function(e){
  7.           var consulta = $("#usuarios").val();
  8.           if(consulta){
  9.               var datos = {
  10.                   b:consulta
  11.               }                
  12.               $.ajax({
  13.                   type: "POST",
  14.                   url: "comprobar.php",
  15.                   data: datos ,
  16.                   error: function(){
  17.                       alert("error petición ajax");
  18.                   },
  19.                   success: function(data){                                                      
  20.                       $("#resultado").html(data);
  21.                       n();
  22.                   }
  23.               });
  24.           }
  25.       });                    
  26. });</script>


Código PHP:
Ver original
  1. <?php  
  2.  
  3. if (is_file("Connections/conexion.php")) {
  4.     require_once('Connections/conexion.php');
  5. }else {
  6.     require_once('../Connections/conexion.php');
  7. }
  8.  
  9. $user = $_POST['b'];
  10. if($user) {
  11.     comprobar($user);
  12. }else{
  13.     echo "No han llegado datos"
  14. }
  15.        
  16. function comprobar($b) {
  17.     $con = mysql_connect($hostname_conexion, $username_conexion, $password_conexion);
  18.     mysql_select_db($database_conexion);
  19.     $sql = mysql_query("SELECT * FROM busuarios WHERE usuarios = '".$b."'",$con);
  20.     $contar = mysql_num_rows($sql);
  21.     if($contar == 0){
  22.         echo "<p>Disponible.</p>";
  23.     }else{
  24.         echo "<p>El nombre de usuario ya existe.</p>";
  25.     }
  26. }      
  27. ?>


Prueba con esto, debería de funcionarte seguro, en el PHP hemos añadido un aviso por si no llegasen datos desde la función javascript, pero si se esta ejecutando la petición.

A partir de ahí ve jugando con las opciones, si quieres que tenga un retraso por alguna cosa en concreta puede hacerse de alguna otra manera.

Última edición por manuparquegiralda; 13/08/2014 a las 15:12