Gracias de nuevo por la super rápida respuesta.
Hice los ajustes que me pediste y detallo lo siguiente.
Si escribo user y pass no me funciona, pero si carga la variable "logueado", es decir que ajax funciona, ya que manda el usuario ,contraseña y la variable tiene_permiso. busca dentro de index_chequeo.php los datos y los confirma. Y si vuelvo a ingresar el mismo usuario y contraseña entro a la pagina.
En conclusión funciona ingresando dos veces el user y pass.
Pero si los escribo mal de primera, no me sale el cartel de error.
Hay un tema con el
echo "true"; es como que la funcion success no funciona de primera, solo de segunda. imprime otra cosa que true, como por ejemplo false no le da bola al if(resp=="true")..
index.php
Código HTML:
Ver original<?php
session_start();
?>
<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <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"> <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<div class="ingreso" id="resultado" > <form id="form_ingreso" onsubmit="return validar();" method="POST"> <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> <input id="clave" name="clave" type="password" placeholder="Contraseña" required> <div id="escriba_pass">Por favor escriba su contraseña
</div> <div id="error_ingreso">Usuario o Contraseña Incorrectos
</div> <input type="submit" value="Ingresar" id="bt_ingresar">
<?php
echo "Variable:";
echo $_SESSION['logeado'];
?>
indes.js
Código Javascript
:
Ver originalfunction validar(){
//event.preventDefault();
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('#resultado');
$.ajax({
url : "index_chequeo.php",
type : "POST",
data :{nick:nick,clave:clave,puede_entrar:1},
success : function(resp)
{
if (resp=='true')
{
$("#resultado").slideUp("fast");
window.location="Principal.php";
}
else
{
$('#nick').val("");
$('#clave').val("");
$("#error_ingreso").slideDown("slow").delay( 3000 );
$("#error_ingreso").slideUp("slow");
$("#bt_ingresar").val("Ingresar");
}
}
});
}
index_chequeo.php
Código PHP:
Ver original<?php
if(isset($_POST['puede_entrar'])){ include('Barra/conexion.php');
// Usuario y Contraseña enviados
$nick=$_POST['nick'];
$clave=$_POST['clave'];
// To protect MySQL injection (more detail about MySQL injection)
$sql="SELECT * FROM usuarios WHERE nick='$nick' and clave='$clave'";
// Cuenta los resultados de arriba
///////Busca los permisos que tiene el usuario
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
$_SESSION['logeado']="sip";
$_SESSION['nick']=$nick;
//Register $myusername, $mypassword and redirect to file "login_success.php"
echo 'true';
}
else
{
echo 'false';
}
}
?>
Como puedo hacerlo sin ajax? Antes lo tenia en php y html5, funcionaba bien, pero con el afan de aplicar ajax se me ocurrió empezar una nueva pagina desde cero y aplicando todo lo que aprendí.
Gracias de nuevo