Foros del Web » Programando para Internet » PHP »

Orden al llamar funciones... IMPORTANTE!

Estas en el tema de Orden al llamar funciones... IMPORTANTE! en el foro de PHP en Foros del Web. En otra oportunidad consulte por esto, y si bien quedo bastante claro ahora me nace una nueva duda... supongamos que tengo el siguiente script: Código ...
  #1 (permalink)  
Antiguo 25/04/2006, 11:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Busqueda Orden al llamar funciones... IMPORTANTE!

En otra oportunidad consulte por esto, y si bien quedo bastante claro ahora me nace una nueva duda... supongamos que tengo el siguiente script:

Código PHP:
    session_start();
    if ( isset(
$_SESSION['user']) ) {
        
header("Location: /html_errors/session.php");
        exit();

    } else if (
$_SESSION['u_level'] == 0) { 
        
header("Location: /html_errors/user_ban.php");
        exit();
    }

    require_once(
'/include/bd.php');
        ...
        ...
        ...
        ...
        
mysql_close($link); 
Me pregunto: ¿Sirve o no sirve utilizar un exit(); despues de redireccionar la página con header("location:..."); ?

Lo que yo no quiero, es que se ejecute cualquier código despues de la comprobación de SESSION DE USUARIO si ocurre algo no deseado, por ejemplo, que el usuario tenga un 'u_level' = 0 (baneado del sitio).

MUCHAS GRACIAS !!!!!!!!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 25/04/2006, 12:05
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
Lo que hace header() es enviar una cabecera al navegador indicándole que debe redireccionar a otra ubicación. Si no terminas la ejecución del script, el código despues del header() se seguirá ejecutando. Por ejemplo, si tenes el script script.php:
Código PHP:
<?
session_start
();
header("Location: otro_script.php");
$_SESSION['usurio'] = 'juan';
?>
Y en otro_script.php tenemos:

Código PHP:
<?
session_start
();
echo 
$_SESSION['usuario'];
?>
Si llamamos a script.php desde el navegador, entonces la salida de será "juan".
Esto no seria asi si script.php fuera asi:

Código PHP:
<?
session_start
();
header("Location: otro_script.php");
exit;
$_SESSION['usurio'] = 'juan';
?>
En ese caso la salida estaria vacia.
Saludos.
  #3 (permalink)  
Antiguo 25/04/2006, 19:12
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
entiendo perfectamente... en mi caso siempre que utilizo "header("Location: "); nunca deseo seguir ejecutando el script... voy a agregar ese exit(); que me falta a todos los scripts

un saludo grande y muchas gracias.
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 05:51.