Buenos días gente del foro, he aquí mi post con una duda.
Hace poco comencé con ajax (jquery ya lo manejaba en lo basico y decidí aplicar la tecnica).
Les dejo el codigo abajo, el problema es que nunca me re direcciona a la pagina principal. Incluso si el usuario o contraseña están bien.
Luego de ingresar el usuario y contraseña correctamente me da error, me devuelve un 0 en vez de un 1. Pero si presiono F5 veo que la variable $_SESSION[logeado] esta correctamente cargada con el valor "tiene_permido".
Código:
<!doctype html>
<html lang="es">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<?php
session_start();
if(ISSET($_POST[puede_entrar2]))
{
session_start();
//==============================Tiene los datos de conexion==========
include('Barra/conexion.php');
// Usuario y Contraseña enviados
$nick=$_POST['nick'];
$clave=$_POST['clave'];
$nick = stripslashes($nick);
$clave = stripslashes($clave);
$nick = mysql_real_escape_string($nick);
$clave = mysql_real_escape_string($clave);
$sql="SELECT * FROM usuarios WHERE nick='$nick' and clave='$clave'";
$result=mysql_query($sql);
// Cuenta los resultados de arriba
$count=mysql_num_rows($result);
///////Busca los permisos que tiene el usuario
if($count=='1')
{
$_SESSION['logeado']="tiene_permiso";
$_SESSION['nick']=$nick;
//Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("nick");
session_register("clave");
//=================la idea es que en success devuelva este valor
echo 1,
}
else
{
echo 0,
}
}
//==============================Compruebo a mano si las variables se cargan, o si al menos llega a esta parte del IF
//=========================Si presiono F5 luego de logearme aparece el valor "tiene_permiso"
echo'<div id="resultado">';
echo "Variable:";
echo $_SESSION['logeado'];
echo "<br>";
echo "Nombr:";
echo $_SESSION['nick'];
echo'</div>';
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Control - Inicio de sessión</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
</head>
<div class="ingreso" id="rewesultado">
<form name="accion" >
<p>Inicio de sessíon</p>
<input id="nick" name="nick" type="text" autofocus placeholder="Usuario" required title="Introduzca un monto">
<div id="escriba_nick">Por favor escriba su Nick</div>
<br>
<input id="clave" name="clave" type="password" placeholder="Contraseña" required>
<div id="escriba_pass">Por favor escriba su contraseña</div>
<br>
<div id="error_ingreso">Usuario o Contraseña Incorrectos</div>
<input name="accion" type="button" onclick="validar()" value="Ingresar" id="bt_ingresar">
</form>
</div>
<script type="text/javascript">
function validar(){
if ($('#nick').val()=="")
{
$("#escriba_nick").slideDown("slow").delay( 1800 );
$("#escriba_nick").slideUp("slow");
$("#nick").focus();
}
else
{
if ($('#clave').val()=="")
{
$("#escriba_pass").slideDown("slow").delay( 1800 );
$("#escriba_pass").slideUp("slow");
$("#clave").focus();
}
else
{
mandar();
}
}
}
function mandar(){
var nick = $('#nick').val();
var clave = $('#clave').val();
var divResultado = document.getElementById('#mierda');
$.ajax({
url : "index.php",
type : "POST",
async : false,
data :{nick:nick,clave:clave,puede_entrar2:1},
success : function (resp)
{
if (resp == 1)
{
window.location="home.php";
}
else
{
$('#nick').val("");
$('#clave').val("");
$("#error_ingreso").slideDown("slow").delay( 3000 );
$("#error_ingreso").slideUp("slow");
$("#bt_ingresar").val("Ingresar");
}
}
});
}
</script>
No importa lo que haga siempre me termina apareciendo que el usuario y contraseña están mal.
Alguna idea? Desde ya muchas gracias como siempre.