Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/10/2011, 12:42
el_quick
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 14 años, 3 meses
Puntos: 67
Respuesta: header location + exit() = fail

Cita:
Iniciado por Sourcegeek Ver Mensaje
Para nada cierto. Si no hay ninguna salida HTML antes del header, la función no dará ningún error, el header se ejecutará y no alcanzará a llegar a la siguiente línea, por lo que si pongas exit o no lo pongas no afectará en nada.
Ejemplo:

Código PHP:
Ver original
  1. header('Location: eje.php');
  2. echo 'Hola! Ésta línea nunca se ve, porque nunca llega a ella';
Pues si! es cierto, el código se sigue ejecutando aunque las salida no sea enviada al browser:

Código PHP:
Ver original
  1. header('Location: eje.php');
  2. mysql_query('insert into ejemplo (text) values (\'Esta linea si se insertará en la BD y cuando todo el php sea ejecutado se redireccionará a eje.php sin que no demos cuenta que se ejecutó el código\')');
  3. echo 'Este texto nunca será enviado al browser a cause del header';

En http://php.net/manual/es/function.header.php dice claramente:
"Enviar encabezado sin formato HTTP" (el bold lo puse yo )
Los headers definen el tipo de contenido a enviar al browser.

Saludos!!!
__________________
Páginas web de alta calidad y hechas a la medida.