Foros del Web » Programando para Internet » Jquery »

Problema con jquery y variables post.

Estas en el tema de Problema con jquery y variables post. en el foro de Jquery en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/02/2012, 18:04
 
Fecha de Ingreso: septiembre-2011
Ubicación: La Plata, Buenos Aires
Mensajes: 26
Antigüedad: 13 años, 2 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. ?>
  #2 (permalink)  
Antiguo 15/02/2012, 06:41
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 9 meses
Puntos: 998
Respuesta: Problema con jquery y variables post.

esto es un problema de la sintaxis php más que de jquery.
Estás haciendo que tome la variable como texto, usa comillas dobles para que te la tome como variable.
Código PHP:
Ver original
  1. $response_array['message'] = $user está en uso!";
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -

Etiquetas: ajax, formulario, funcion, html, input, javascript, js, php, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.