login php mysql jquery

Iniciado por Dosjota, 24 Julio 2010, 06:50 AM

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

Dosjota

Buenas... les comento, estoy haciendo un login para un proyecto y le estoy implementando algo del famoso ajax con la librería jquery, pero estoy topando en algo que no me deja avanzar, a ver si ustedes pueden echarme una manito y ayudar a descubrir el error, desde ya muchas gracias!

Login.html

Código (html4strict) [Seleccionar]

<html style="height: 100%; ">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>diseño</title>
<script type="text/javascript" src="jquery-ui-1.8.1.custom/js/jquery-1.4.2.min.js"></script>
<link type="text/css" href="css/app_css.css" rel="stylesheet" />
<script type="text/javascript">
$(function () {
var usuario = $("#usuario"),
clave = $("#clave"),
allFields = $([]).add(usuario).add(clave),
tips = $(".validateTips");
$('#verificar').click(function() {
$.ajax({
type: "POST",
url: "verifica.php",
data:  "&usuario=" + $(usuario).val() + "&clave=" + $(clave).val(),
beforeSend: function(objeto){
},
success: function(data) {
if((data=="falla") || (data=="vacio")){
$('#form')[0].reset();
$('#loading').html("incorecto o vacio");
}
if(data=="exito"){
alert("ok");
}
if(data=="BD_ERR"){
$('#form')[0].reset();
$('#loading').html("error al conectar con base de datos :S");
}
},
error: function(){
$('#loading').html("Ha ocurrido un error.");
}
});
});
});
</script>
</head>
<body>

<div class="login" id="borde">
<div class="logo_en_login"></div>
<form id="form" method="post" action="form.php">
<div id="loading"></div>
<p>
<input type="text" name="usuario" id="usuario" />
<label for="web">Usuario</label>
</p>
<p>
<input type="text" name="clave" id="clave" />
<label for="web">Clave</label>
</p>
<div id="btn" align="right">
<p><br/><br/><a id="verificar" href="#">Verificar</a></p>
</div>
</form>
</div>
</body>
</html>



verifica.php
Código (php) [Seleccionar]

<?php

if(isset($_POST['usuario'])){
$conexion mysql_connect("localhost""root""");
mysql_select_db("_app"$conexion);

$usuario htmlspecialchars(trim($_POST['usuario']));
$clave htmlspecialchars(trim($_POST['clave']));
$sql ="select * from usuario where usuario_usuario ='".$usuario."' and clave_usuario = '".$clave."' LIMIT 1";
$resp mysql_query($sql$conexion) or die(mysql_error());
$total mysql_num_rows($resp);

if ($total0) {
while ($R_conn mysql_fetch_assoc($resp)) {
$resultado_usuario=$R_conn['usuario_usuario'];
$resultado_clave=$R_conn['clave_usuario'];
}
}
/* verificar conexion */
if(($md5($clave)==$resultado_clave) and ($usuario==$resultado_usuario)){
echo 'exito';
return $data;
}else{
echo 'falla';
return $data;
}
if(($md5($clave)==null) and ($usuario==null)){
echo 'vacio';
return $data;
}
}
?>






el sql son dos campos los necesarios usuario_usuario y clave_usuario

desde ya gracias!  :)

pisagatos

Buenas!!

Se te ha colado un $ al llamar a la función md5 de PHP

Código (php) [Seleccionar]

[...]
/* verificar conexion */
if((md5($clave)==$resultado_clave) and ($usuario==$resultado_usuario)){
echo 'exito';
return $data;
}else{
echo 'falla';
return $data;
}
if((md5($clave)==null) and ($usuario==null)){
echo 'vacio';
return $data;
}
}
?>

Dosjota

aun sin resolver... aunque envié datos vacíos igual devuelve incorrecto cuando debería  devolver vació

pisagatos

#3
Buenass!!

Me he tomado la libertad de hacer un minúsculo cambio

Código (php) [Seleccionar]
[...] /* verificar conexion */
if (empty($clave) and empty($usuario))
{
echo 'vacio';
return $data;
}
else
{
if ((md5($clave) == $resultado_clave) and ($usuario == $resultado_usuario))
{
echo 'exito';
return $data;
}
else
{
echo 'falla';
return $data;
}
}


Código (php) [Seleccionar]
if (empty($clave) and empty($usuario))
Sugerencia: el and lo modificaría por un or