Tengo un problema:
resulta que tengo en mi página una barra superior que tiene un include a un menú. En ese menú, hay un link que dice 'Registrarse'.
Bien, este te manda (en ese mismo div, mediante JQUERY) a un formulario que te hace ingresar un nombre de usuario.
El formulario se envía perfectamente y también se procesa bien, el problema es que no puedo imprimir la variable de post ya que no me la toma ni como $_POST['name'], $_POST[name], ni $user (habiendo ya asignado la variable de post a esta).
Código de formulario:
Código PHP:
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", 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."); } }); //make sure the form doesn't post 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>
Código del procesamiento:
Código PHP:
Ver original
<? include('../conectar.php'); //response array with status code and message // 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'; $response_array['message'] = '¡$user está disponible!'; } if($num == 1) { $response_array['status'] = 'error'; $response_array['message'] = '¡$user está en uso!'; } } //send the response back ?>
Aclaro que efectivamente la solicitud responde a si está disponible o en uso (lo hace correctamente) , pero que al imprimir el mensaje, este dice $user ó $_POST[user] en vez del nombre que el usuario eligió
Gracias =)