Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2012, 18:04
lauchag95
 
Fecha de Ingreso: septiembre-2011
Ubicación: La Plata, Buenos Aires
Mensajes: 26
Antigüedad: 12 años, 8 meses
Puntos: 0
Problema con jquery y variables post.

Bien, procedo a explicarles mi situación:
Yo tengo en mi INDEX un div que contiene mediante un include php una barra de menú que tiene un link para registrarse. Al cliquear en el link invoco mediante .load de Jquery un formulario que tiene un campo para completar un nombre de usuario. Mediante jquery hago de forma asíncrona el proceso para ver si el usuario está disponible o no. Este proceso tiene un resultado correcto, ya sea que al usuario le informa que el usuario está disponible o que no.
El problema es que cuando quiero imprimir la $_POST['name'] en el mensaje de salida, no se imprime el usuario, sino que sale directamente $_POST['name'] ó $user (ya he declarado la variable)!!

Página del formulario:
Código Javascript:
Ver original
  1. <style>
  2. .success{  
  3.  
  4.     border: 2px solid #009400;  
  5.     background: #B3FFB3;  
  6.     color: #555;  
  7.     font-weight: bold;  
  8.  
  9. }  
  10.  
  11. .error{  
  12.  
  13.     border: 2px solid #DE001A;  
  14.     background: #FFA8B3;  
  15.     color: #000;  
  16.     font-weight: bold;  
  17. }
  18. </style>
  19. <script type="text/javascript">
  20. $(document).ready(function(){  
  21.  
  22.     $("#comprobacion").submit(function(){  
  23.         $.ajax({  
  24.             type: "POST",  
  25.             url: "../registro/2.php",  
  26.             data: $("#comprobacion").serialize(),  
  27.             dataType: "json",  
  28.  
  29.             success: function(msg){  
  30.                 $("#log").removeClass('error');  
  31.                 $("#log").removeClass('success');  
  32.                 $("#log").addClass(msg.status);  
  33.                 $("#log").html(msg.message);  
  34.  
  35.             },  
  36.             error: function(){  
  37.                 $("#log").removeClass('success');  
  38.                 $("#log").addClass('error');  
  39.                 $("#log").html("Ahora mismo no podemos comprobar la disponibilidad del usuario. Inténtalo más tarde.");  
  40.             }  
  41.         });  
  42.  
  43.          
  44.         return false;  
  45.  
  46.     });  
  47.  
  48. });  
  49. </script>
  50. <form id="comprobacion" style="margin: 0 auto; width: 300px;" method="post">  
  51.   <div id="formResponse">
  52.     <input name="name" type="text">
  53. <input name="submitForm" type="submit" value="Submit Form">
  54. </div>
  55. </form>

Página de comprobación:
Código PHP:
Ver original
  1. <?  
  2.    include('../conectar.php');
  3. $response_array = array();  
  4.    
  5.  
  6. // proceso
  7. $user = $_POST['name'];
  8. if($user == "")
  9. {
  10.      $response_array['status'] = 'error';  
  11.     $response_array['message'] = '¡Para poder comprobar la disponibilidad del nombre de usuario, debes ingresar uno!';  
  12. }
  13. if($user != "")
  14. {
  15.     $consulta = mysql_query("SELECT usuario FROM datosp WHERE usuario = '$user'",$conexion);
  16.     $num = mysql_num_rows($consulta);
  17.     if($num == 0)
  18.     {
  19.          $response_array['status'] = 'success';  
  20. ///AQUI ES DONDE $USER NO SE IMPRIME COMO DEBE NI TAMPOCO FUNCIONA CON $_POST['name'] PORQUE YA LO INTENTÉ
  21.     $response_array['message'] = '¡$user está disponible! <a href=../registro/3.php?user=$_POST[name]>¡Registrarme!</a>';  
  22.     }
  23.    
  24.     if($num == 1)
  25.     {
  26.        
  27.          $response_array['status'] = 'error';  
  28. ///AQUI ES DONDE $USER NO SE IMPRIME COMO DEBE NI TAMPOCO FUNCIONA CON $_POST['name'] PORQUE YA LO INTENTÉ
  29.     $response_array['message'] = '¡$user está en uso!';  
  30.     }
  31.    
  32. }
  33.    
  34. echo json_encode($response_array);  
  35. ?>