Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/03/2004, 13:03
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 16 años
Puntos: 126
Pues en PHP también se puede hacer lo que haces en ASP .. Lo que pasa que "por defecto" PHP no gestiona el buffer de salida pero lo puedes controlar con las funciones del grupo:

ob_start() .. ob_end_flush() ....

Pero, Eso de "mezclar" tus cookies entre el código HTML no es estructuralmente "ortodoso" en un abmiente de programación "cliente-servidor".

No se trata de no poder registrar un valor en tu cookie si suceden X condiciones .. sino de que el proceso que NO requiera salida al cliente NO se le envien cabeceras (HTML, etc son cabeceras cara a un navegador como cliente ..). Ademas, ten encuenta que las cookies quedan disponibles en la próxima recarga o llamada a un script/página.

Ejemplo:

No correcto:
Código PHP:
<html>
<head>
</head>
<body>
<?
if (tal cosa){
setcookie(....)
} else {
 echo 
"hola esto es salida al navegador";
}
?>
</body>
</html>
correcto:
Código PHP:
<?
if (tal cosa){
setcookie(....);
} else {
?>
<html>
<head>
</head>
<body>
<?
 
echo "hola esto es salida al navegador";
?>
</body>
</html>
<?
// cierre del if
?>
Como veras .. la segunda propuesta estructura el código según como funciona un lenguaje del lado del servidor donde se "pre-procesa" todo el código en el servidor y dependiendo del proceso de este se entrega al cliente (navegador en estos casos) lo que realmente tiene que ver este si se cumple esa condición ..y .. lo que tiene que ver es una u otra determinada página HTML/etc completa.

Lo que manda es "PHP" en primera instancia .. y luego el "cliente" ya interpretará su parte cuando lo reciba .. Así que piensa en "generar código para el cliente" (HTML/etc) dinámicamente y no en "incrustrar PHP" entre el HTML ...

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