PHP - Como redireccionar un codigo de error?

 
Vista:

Como redireccionar un codigo de error?

Publicado por andolinibdn (6 intervenciones) el 11/03/2014 16:39:45
Tengo un formulario donde te logueas con usuario y contraseña, además seleccionas el idioma de entrada.
Si las credenciales están OK te envia a intranet.php , si son incorrectas te envían a error.php.


La página error.php tiene un mensaje en html por si un usuario entra directamente a esta URL:

Antes tienes que pasar por el loguin
y un enlace a el index.php .

Pero cuando paso las credenciales inválidas y me envía a error.php no quiero que me salga este mensaje.
Quiero que se reemplace por "usuario y contraseña incorrectos" por ejemplo.

Tengo hecho esta redirección:


else {
header("Location: ./error.php?ERROR_LOGIN");
}


ERROR_LOGIN es el nombre de una constante, el valor de la constante es el mensaje de error.
¿Como redirecciono est?


Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como redireccionar un codigo de error?

Publicado por xve (6935 intervenciones) el 11/03/2014 20:48:40
Hola andolinibdn, según entiendo, dependiendo del mensaje que envíes por get, quieres que redireccione a la pagina inicial, o que muestre el error, verdad?

Yo no pasaría ningún parámetro por get, ya que el usuario si sabe el parámetro lo puede poner, y nunca sabrás si ha escrito directamente el usuario el parámetro y viene dado de la pagina de login.

Yo te recomiendo que cuando el usuario entre en la pagina de login, crees una variable de sesión con valor 0... por ejemplo:
1
$_SESSION["error"]=0;
Si pone un valor erroneo, modificas esta variable, y lo envías a la pagina de error.php sin pasar ningún parámetro... algo así:
1
2
$_SESSION["error"]=1;
heade("location:../error.php");

En la pagina error.php, revisas si la variable de sesión existe y si tiene el valor 1, entonces indicas que el usuario es erróneo. Si no tiene el valor 1, es que lo ha escrito directamente.

No se si me he explicado bien... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar