holas.. es simple.. es un login... al ingresarel login y password se revisa con php si es correcto redirecciona si no muestra en pantalla sin recargar la pagina un mensaje de error... el codigo
ajax:
Código:
var ajax=nuevoAjax();
ajax.open('POST', 'ingresa.php', true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("login="+login+"&pass="+pass);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
var respuesta= ajax.responseText;
if(respuesta=="OK")
{
var texto="Bienvenido.<br>Redireccionando.<br><br><button onClick='ocultaMensaje()' type='button' class='btnok'>Ok</button>";
}
if(respuesta=="error1")
{
var texto="Error: La contraseña no fue enviada.<br><br><button onClick='ocultaMensaje()' type='button' class='btnok'>Ok</button>";
}
if(respuesta=="error2")
{
var texto="Error: La contraseña no es válida.<br><br><button onClick='ocultaMensaje()' type='button' class='btnok'>Ok</button>";
}
else
var texto= Error: A ocurrido un problema, vuelva a intentarlo mas tarde.<br><br><button onClick='ocultaMensaje()' type='button' class='btnok'>Ok</button>";
muestraMensaje(texto);
}
}
ingresa.php:
Código:
<script language="php">
include("coneccion.php");
if($_POST)
{
foreach($_POST as $clave => $valor) $$clave=addslashes(trim(utf8_decode($valor)));
sleep(5);
$username=$_POST['login'];
$pass=$_POST['pass'];
$password= md5($pass);
if ($password==NULL) {
echo "error1"; // password no enviada
}
else{
$query = mysql_query("SELECT login_user,password FROM usuarios WHERE login_user = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "error2"; //password incorrecto
}
else{
$query = mysql_query("SELECT login_user,tipo_usuario,nombres,apellido_paterno,password FROM usuarios WHERE login_user = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_login"] = $row['login_user'];
$_SESSION["s_tipo"] = $row['tipo_usuario'];
$_SESSION["s_nombre"] = $row['nombres'];
$_SESSION["s_apellidop"] = $row['apellido_paterno'];
echo "OK";
switch($_SESSION["s_tipo"]) {
case "AL": // Bloque 1
Header("Location: .../alumnos/menual.php");
break;
case "PR": // Bloque 2
Header("Location: menupr.php");
break;
case "AP": // Bloque 3
Header("Location: menuap.php");
break;
case "AD": // Bloque 4
Header("Location: menuad.php");
break;
default: // Bloque 5
echo "No es un usuario válido del sistema";
}
}
}
}
</script>
lo que pasa es que siempre me muestra el mensaje "Error: A ocurrido un problema, vuelva a intentarlo mas tarde."... ponga o no ponga una contraseña correcta... estoy de las 12 del dia en esto y la verdad ya estoy que tiro mi pc por la ventana.. si saco esa mensaje.. me aparece el mensaje "indefinido" refiriendose a que no he definido ese error... la funcion muestra mensaje y oculta mensaje es la que hace que salga el mensaje en un div en la pagina y no encontre relevante ponerlo... el problema yo se que es acá pero como son mis primeros pasos en ajax me es imposible allarlo
cualquier ayuda se agradece
saludos