Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2007, 02:36
mreyesb
 
Fecha de Ingreso: febrero-2007
Mensajes: 70
Antigüedad: 17 años, 10 meses
Puntos: 1
me pueden decir que tiene de malo este codigo

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