Problema con formulario

Iniciado por janisorna, 6 Septiembre 2013, 19:51 PM

0 Miembros y 1 Visitante están viendo este tema.

janisorna

Hola a todos,
estoy haciendo un formulario de registro que cuando escribes por ejemplo el usuario, utilizando jquery i ajax, se comprueva que el usuario no exista en la base de datos, si ya existe sale un mensaje debajo del campo de texto.
Hasta aquí todo bien pero el problema es que aún que me salga el mensajito de "Este nombre de usuario ya existe", si le doy clic a enviar se envia igualmente. Lo que me gustaria saber es como hacer para que si sale el mensaje de "error" no se envie.

Codigo Jquery i Ajax

<script src="jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){                     
var consulta;
$("#usuari").blur();
$("#usuari").change(function(e){
consulta = $("#usuari").val();
$("#usersql").queue(function(n) {     
                                           
$("#usersql").html('<img src="ajaxloader.gif" />&nbsp;&nbsp;<font size="2">Comprovant...</font>');
                                           
$.ajax({
type: "POST",
url: "verificauser.php",
data: "b="+consulta,
dataType: "html",
error: function(){
alert("error petició ajax");
},
success: function(data){                                                     
$("#usersql").html(data);
n();
}
});
                                           
});
                               
});
                         
});
</script>


Codigo PHP que se llama para hacer la comprovación (verificauser.php)

<?php
$user 
$_POST['b'];
if(!empty(
$user)) {
comprobar($user);}
       
function 
comprobar($b) {
$con mysql_connect('localhost','usuario''contraseña');
mysql_select_db('nombrebd'$con);
       
$sql mysql_query("SELECT * FROM tabla WHERE usuari = '$b'",$con);
             
$contar mysql_num_rows($sql);
             
if(
$contar == 0){
                  echo 
"<span style='font-size:12px;font-weight:bold;color:#16DF00;'>OK</span>";
}else{
echo 
"<span style='font-size:12px;color:red;'>Usuari ja existent</span>";
}
}     
?>


Graciass!!  ;D

Shell Root

Primero que todo, verifica la query en tiempo de ejecución, es decir, printea la consulta sql y miras si esta bien formada.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

janisorna

Hola Shell Root, he echo lo que has dicho y parece que esta bien formada la consulta.

Shell Root

Bueno, una cosa es que este bien formada y otra es que se ejecute y muestre resultados, es para validar que los condicionales esten bien.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.