Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: janisorna en 6 Septiembre 2013, 19:51 pm



Título: Problema con formulario
Publicado por: janisorna en 6 Septiembre 2013, 19:51 pm
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

Código:
<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)

Código:
<?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


Título: Re: Problema con formulario
Publicado por: Shell Root en 6 Septiembre 2013, 21:10 pm
Primero que todo, verifica la query en tiempo de ejecución, es decir, printea la consulta sql y miras si esta bien formada.


Título: Re: Problema con formulario
Publicado por: janisorna en 7 Septiembre 2013, 17:43 pm
Hola Shell Root, he echo lo que has dicho y parece que esta bien formada la consulta.


Título: Re: Problema con formulario
Publicado por: Shell Root en 9 Septiembre 2013, 21:23 pm
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.