/ / Cómo realizar una solicitud ajax solo si el nombre de usuario es libre, - validación, jquery

Cómo realizar una solicitud ajax solo si el nombre de usuario es gratuito, - validación, jquery

Ya hice toda la validación y mostré un mensaje de error o bien. Ahora viene lo último, quiero verificar la disponibilidad del nombre de usuario desde una base de datos, por lo que necesito consultar mi servidor.

var b = $("#input_username_holder").val();
if (b != "Username" && b != "" && b.length > 6 && b.length < 17) {
$.ajax({
type: "POST",
url: "check_username.php",
data: "b=" + b,
}).done(function(msg) {
$("#username_result").html(msg);
});
}

Ahora, este código funciona bien para mostrar cualquier error que ocurra. Quiero hacer una solicitud ajax, pero la solicitud solo debe hacerse si el nombre de usuario está disponible:

if (fullname valid) {
if (username is available) {
$.ajax({
type: "POST",
url: "register.php",
data: "a=" + a + "&b=" + b + "&c=" + c + "&d=" + d,
}).done(function(msg) {
$("#register_box").html(msg);
});
}
}

Siempre estoy al tanto de la amenaza, de esa validación.with js puede tener un formato incorrecto y posiblemente realizar una inyección de SQL en toda su base de datos, por lo que siempre hago todo lo posible para proteger mi sitio de cualquier intento de piratería. Hago algo como esto

$user_email = filter_input(INPUT_POST, "usr_email", FILTER_SANITIZE_STRING);

y además ... paso el valor a través de esta función ..

function filter($data) {
$data = trim(htmlentities(strip_tags($data)));

if (get_magic_quotes_gpc())
$data = stripslashes($data);

$data = mysql_real_escape_string($data);

return $data;
}

¿Es esto suficiente o puede sugerirme algo mejor para la seguridad ...

Respuestas

1 para la respuesta № 1

Sugiero hacer algo como esto:

$.ajax({
type: "POST",
url: "register.php",
data: {"a": a,
"b": b,
"c": c,
"d": d}
}).done(function(msg) {
if (msg == "invalid") {
$("#register_box").html("Username is invalid");
} else if (msg == "taken") {
$("#register_box").html("Username has been taken");
} else {
$("#register_box").html("Success");
}
});

Tener register.php Manejar todo su chequeo de nombre de usuario y tal. Si hay un error, simplemente devuelva el mensaje de error en lugar del mensaje de éxito.

Pero tu absolutamente necesitar para hacer la validación del servidor. Usted pagará el precio si no lo hace.