registro - validar usuario registrado php
jQuery Valida el uso del método remoto para verificar si el nombre de usuario ya existe (2)
Quiero validar si el nombre de usuario existe en la base de datos usando jQuery.validate, así que esto es lo que tengo hasta ahora:
jQuery:
$("#signupForm").validate({
rules: {
username: {
required: true,
minlength: 3,
remote: "check-username.php"
}
},
messages: {
username:{
remote: "This username is already taken! Try another."
}
}
});
check-username.php:
<?php
require_once "./source/includes/data.php";
header(''Content-type: application/json'');
$name = mysql_real_escape_string($_POST[''username'']);
$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username=''$name''");
if (mysql_num_rows($check_for_username) > 0) {
$output = true;
} else {
$output = false;
}
echo json_encode($output);
?>
Este código siempre muestra un error de que el nombre de usuario se toma incluso si no es así.
Estoy usando jQuery Mobile 1.9.1
Gracias por adelantado.
Logré hacer que esto funcione cambiando la técnica de PHP que estaba usando, aquí está mi PHP:
<?php
require_once "./source/includes/data.php";
header(''Content-type: application/json'');
$request = $_REQUEST[''username''];
$query = mysql_query("SELECT * FROM mmh_user_info WHERE username =''$username''");
$result = mysql_num_rows($query);
if ($result == 0){
$valid = ''true'';}
else{
$valid = ''false'';
}
echo $valid;
?>
Gracias a todos por su ayuda :)
Tengo dos recursos para mirar.
Ejemplo oficial del complemento de validación: http://jquery.bassistance.de/validate/demo/milk/
Solución del foro jQuery: http://forum.jquery.com/topic/jquery-validation-plugin-remote-validation-problem-locks-up
La posible solución es que la respuesta no necesita ser codificada por lo que yo sé. Como json necesita pares de valores clave, no bastará con proporcionar el valor justo. Por lo tanto, intente simplemente hacer eco como cadenas "verdaderas" o "falsas".
En segundo lugar, la validación utiliza GET para el método de envío de formularios, no POST.
NOTA: SIMPLEMENTE ENCONTRÓ PREGUNTA DE SOLUCIÓN POSIBLE jQuery Validación remota