pwnzh Posted November 18, 2011 Report Share Posted November 18, 2011 (edited) Hola amigos. gracias por las ayudas anteriores ahora tengo este problemita ,el codigo funciona ,desde otro pag llama a esta clase pruebalogin.php y al momento de presionar el boton iniciar secion ve si es correcto y muestra profesor.php , pero lo que tengo marcado en rojo deberia aparecer primero diciendo un mensaje "Usuario correcto" y y depues mostrar profesor.php lo cual no hace . porque sera ? gracias de antemano <?php session_start();require_once("..//Clases/conectar.php");require_once("..//Clases/Usuario.php");require_once("..//Clases/Administrador.php"); $rut=$_POST["rut"];$contraseña=$_POST["pass"];$Usu=new Usuario($rut);$respuesta1=$Usu->buscarUsuario($rut,$contraseña);$adm=new administrador ($rut);$respuesta2=$adm->buscarAdministrador($rut,$contraseña);if($respuesta1<>0){$_SESSION["Nombres"]=$respuesta1[0][1];$_SESSION["Apellidos"]=$respuesta1[0][2]; require("..//Vistas/Logueado.php");}else if($respuesta2<>0){$_SESSION["nombre"]=$respuesta2[0][1];$_SESSION["apellido"]=$respuesta2[0][2];echo "<script language='javascript'>";echo "alert('Usuario correcto')";echo "</script>";header('location: ../Vistas/profesor.php');}else{echo "<script language='javascript'>";echo "alert('Error Cliente inexistente')";echo "</script>";header('location: ../Vistas/Log.html'); }?> Edited November 18, 2011 by pwnzh Link to comment Share on other sites More sharing options...
rkstro Posted November 18, 2011 Report Share Posted November 18, 2011 Si no se te muestra es porque no entra en la condicion del if, y eso esta claro porque las condiciones que pusiste, osea: <?php ... if($respuesta1<>0){ ... }else if($respuesta2<>0){ ... Estan malas, debiesen ser <?php ... if($respuesta1 != 0){ ... }else if($respuesta2 != 0){ ... En PHP se usa != para decir distinto, no <> Link to comment Share on other sites More sharing options...
pwnzh Posted November 18, 2011 Author Report Share Posted November 18, 2011 ok ise el cambio y el if si lo pesca porque si es correcto me muestra la nueva pag "header('location: ../Vistas/profesor.php'); " que seria profesor.php y lo que no toma es el echo "alert('Usuario correcto')"; D: Link to comment Share on other sites More sharing options...
nazhox Posted November 18, 2011 Report Share Posted November 18, 2011 (edited) el problema está en que, por así decirlo la redireccion se ejecuta primero que el alert, por lo que no te va a mostrar el mensaje, como solución seria bueno poner el alert en la pagina profesor.php ahí puedes jugar con un if y una variable de session para mostrarlo. Saludos. Edited November 18, 2011 by nazhox Link to comment Share on other sites More sharing options...
AshWilliams Posted November 18, 2011 Report Share Posted November 18, 2011 Lo que dice nazhox es correcto, el header te come el alert....trata de usar variable de sesión o si te complica mucho hace algo como esto: header('location: ../Vistas/profesor.php?mensaje=Ok'); Y en profesor.php, con un if(isset($_GET['mensaje'])) verificas que sea = a OK y que muestre un mensaje de usuario correcto. Saludos Link to comment Share on other sites More sharing options...
rkstro Posted November 19, 2011 Report Share Posted November 19, 2011 O redireccionar por javascript tambien puede ser. <script>location.href = 'url/path/pagina';</script> Link to comment Share on other sites More sharing options...
SUMMERIO Posted March 20, 2012 Report Share Posted March 20, 2012 Personalmente no ocuparía tanto el echo.. echo "<script>alert('Usuario correcto')</script>"; Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now