Foros del Web » Programando para Internet » PHP »

Redireccionamiento en el gestor de errores

Estas en el tema de Redireccionamiento en el gestor de errores en el foro de PHP en Foros del Web. Hola a todos; primera vez que recurro a ustedes, espero que me puedan orientar miren estoy probando redireccionar al momento de existir un error, antes ...
  #1 (permalink)  
Antiguo 25/09/2009, 03:46
Avatar de urbanchile  
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Redireccionamiento en el gestor de errores

Hola a todos; primera vez que recurro a ustedes, espero que me puedan orientar

miren estoy probando redireccionar al momento de existir un error, antes de volcar el buffer de salida he intentado eso pero no funciona bien,
Código PHP:
function Gestor_Errores($num_err$cadena_err$archivo_err$linea_err)
{
    switch (
$num_err) {
    case 
E_USER_ERROR:
//            echo "<script language=\"JavaScript\" type=\"text/javascript\">";
//            echo "top.location.href = 'index.error.html.php';";
//            unset( $_SESSION['USER'] );
//            $_SESSION['GLOBAL']['ERROR'] = TRUE;
//            ob_clean();
//            ob_start ();
            //unset( $_SESSION['USER'] );
            
$_SESSION['GLOBAL']['ERROR'] = TRUE;
            
readfile'../vista/index.error.html.php' );
            
//header( '../vista/index.error.html.php' );
        
exit(1);
        break;

    case 
E_USER_WARNING:
//            echo "<script language=\"JavaScript\" type=\"text/javascript\">";
//            echo "top.location.href = 'index.error.html.php';";
//            unset( $_SESSION['USER'] );
//            $_SESSION['GLOBAL']['ERROR'] = TRUE;

            
ob_clean();
            
ob_start ();
            
//unset( $_SESSION['USER'] );
            
$_SESSION['GLOBAL']['ERROR'] = TRUE;
            
header'../vista/index.error.html.php' );


        exit(
1);
        break;

    case 
E_USER_NOTICE:
//        echo "<script language=\"JavaScript\" type=\"text/javascript\">";
//        echo "top.location.href = 'index.error.html.php';";
//        unset( $_SESSION['USER'] );
//        $_SESSION['GLOBAL']['ERROR'] = TRUE;
        
        
ob_clean();
        
ob_start ();
        
//unset( $_SESSION['USER'] );
        
$_SESSION['GLOBAL']['ERROR'] = TRUE;
        
header'../vista/index.error.html.php' );
        
        exit(
1);
        break;

    }



    return 
true;

espero sus comentarios
  #2 (permalink)  
Antiguo 25/09/2009, 04:14
 
Fecha de Ingreso: diciembre-2007
Mensajes: 131
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Redireccionamiento en el gestor de errores

header("Location: pagina_de_error.php");
  #3 (permalink)  
Antiguo 25/09/2009, 04:16
Avatar de urbanchile  
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Redireccionamiento en el gestor de errores

gracias por tu respuesta, pero si ves los comentarios ya intente eso y no se puede, pues como ya se ha volcado salida, el envio de cabeceras posteriores lanza un error, es como escribir algo y despues llamar a session_start
  #4 (permalink)  
Antiguo 25/09/2009, 04:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 131
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Redireccionamiento en el gestor de errores

En tu codigo usas header("archivo") y no header("Location: archivo")

Si no lo podes usar porque ya enviaste antes codigo,
utiliza codigo javascript como el que tenes en tu codigo.... en tu codigo te faltan cosas, como por ejemplo el tag </script>

ademas, tenes que usar: document.location.href y no top.location.href

prueba con

<script>
document.location.href = 'pagina';
</script>

y luego me cuentas.
  #5 (permalink)  
Antiguo 25/09/2009, 04:28
Avatar de urbanchile  
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
si tienes razon tuve que limpiar el codigo , pero mi pregunta mas alla de que si es ta bien eso o no, es que si hay forma de evitar la salida de bufer y redireccionar a otro lado, idealmente con php

ok, funciono, tenia codigo basura que me estaba problemas antes, gracias!!

Última edición por GatorV; 25/09/2009 a las 13:03
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:31.