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
<style> .success{ border: 2px solid #009400; background: #B3FFB3; color: #555; font-weight: bold; } .error{ border: 2px solid #DE001A; background: #FFA8B3; color: #000; font-weight: bold; } </style> <script type="text/javascript"> $(document).ready(function(){ $("#comprobacion").submit(function(){ $.ajax({ type: "POST", url: "../registro/2.php", data: $("#comprobacion").serialize(), dataType: "json", success: function(msg){ $("#log").removeClass('error'); $("#log").removeClass('success'); $("#log").addClass(msg.status); $("#log").html(msg.message); }, error: function(){ $("#log").removeClass('success'); $("#log").addClass('error'); $("#log").html("Ahora mismo no podemos comprobar la disponibilidad del usuario. Inténtalo más tarde."); } }); return false; }); }); </script> <form id="comprobacion" style="margin: 0 auto; width: 300px;" method="post"> <div id="formResponse"> <input name="name" type="text"> <input name="submitForm" type="submit" value="Submit Form"> </div> </form>
Página de comprobación:
Código PHP:
Ver original
<? include('../conectar.php'); // proceso $user = $_POST['name']; if($user == "") { $response_array['status'] = 'error'; $response_array['message'] = '¡Para poder comprobar la disponibilidad del nombre de usuario, debes ingresar uno!'; } if($user != "") { if($num == 0) { $response_array['status'] = 'success'; ///AQUI ES DONDE $USER NO SE IMPRIME COMO DEBE NI TAMPOCO FUNCIONA CON $_POST['name'] PORQUE YA LO INTENTÉ $response_array['message'] = '¡$user está disponible! <a href=../registro/3.php?user=$_POST[name]>¡Registrarme!</a>'; } if($num == 1) { $response_array['status'] = 'error'; ///AQUI ES DONDE $USER NO SE IMPRIME COMO DEBE NI TAMPOCO FUNCIONA CON $_POST['name'] PORQUE YA LO INTENTÉ $response_array['message'] = '¡$user está en uso!'; } } ?>