Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/12/2002, 21:32
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema es que si usas header() par enviar cabeceras al navegador .. antes de ellas no puede existir NADA de HTML ..

Código PHP:
<?
// procesos ... sin echo ni nada de HTML enviado .. 
header("Location: pagina.php?Accion=VerMensajes"); 
exit;
?>
Un ejemplo típico es si usas un mismo script para hacer algunas acciones entre las q tengas q hacer una de ellas o varias sea la de generar algun tipo de HTML .. seria:

Código PHP:
<?
$variable
="valor";

if (
$Accion=="VerMensajes"){
echo <<< HTML
<html>
<body>
Algo de HTML .. con sus cabeceras y tags típicos ...
</body>
</html>
HTML;
} else {
header("location: pagina.php?accion=nose");
exit; 
// terminar la ejecución del script ...usalo.
}
?>
eso seria lo correcto .. mientras q esto NO sería correcto:

<html>
<body>
<?
if ($Accion=="VerMensajes"){
echo "Algo de HTML .. con sus cabeceras y tags típicos ...";
} else{
header("location: talsitio.php?accion=nose");
exit;
}

?>
</body>
</html>

Si tienes que presentar un mensaje de error o de "fue todo ok" al terminar tu proceso y luego redireccionar a cierta página .. pasale como parametro alguna varaible de estado (igual como usas tu Accion .. ) para indicar segun su valor algo tipo "ok" o "error" .. y muestra el mensaje correspondiente en la página que hagas la redireccion NO en la que tienes el proceo y el "header" ..

Un saludo,