Ver Mensaje Individual
  #8 (permalink)  
Antiguo 03/10/2003, 23:49
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Piensa SIEMPRE que PHP se "pre-procesa" en el servidor .. lo que "resulte" de la lógica empleada (condicionales, bucles .. etc) se enviará al navegador .. Caso de HTML, cookies .. cabeceras .. etc ..

Si te fijas en la estructura de tu pequeño script .. tienes:

* Identificas el valor de una variable ...
* Dependiendo del valor de esta:
a) muestras un mensaje de error al navegador. Esto requiere del HTML necesario para "componer" la página que se ha de mostrar en consecuencia ..
b) "Seteas" una cookie y .. bueno, no haces nada pero se supone que redireccionarás algún sitio.

Por ende .. atendiendo a la premisa que PHP genera en el servidor LO que le tiene que entregar al CLIENTE (navegador en este caso) .. quedaría así:

Código PHP:
<?php
if($sentemail == "2"){
?>
<html>
<head>
<title>thanks</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<? include("sorry.php"); ?>
</body>
</html>
<?
}else{
$num $sentmessage 1;
setcookie("sentemail","$num",time()+600); //set the cookie 
?>
Fijate que el "HTML" se genera todo en el if() si se cumple que la variable tiene el valor esperado ..

Asegurate de que antes del <? primero NO exista nada de HTML restante, saltos de línea o un simple espacio .. Todo eso es considerado como "envio de cabeceras al servidor" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.