Foros del Web » Programando para Internet » PHP »

cookies antes del <html>

Estas en el tema de cookies antes del <html> en el foro de PHP en Foros del Web. a ver, alguien podría decirme que sentido tiene solo poder escribir una cookie antes de todo. Yo lo que quiero hacer es que pasen ciertas ...
  #1 (permalink)  
Antiguo 18/03/2004, 12:47
Avatar de numbloq  
Fecha de Ingreso: marzo-2004
Ubicación: Capital Federal
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 0
cookies antes del <html>

a ver, alguien podría decirme que sentido tiene solo poder escribir una cookie antes de todo.
Yo lo que quiero hacer es que pasen ciertas cosas y ahi guardar en la cookie, mezclado entre el codigo html...
y otra cosa, si es un problema de las cookies y no de php, porque en asp se puede hacer eso?
esta en el FAQ alguna info sobre esto?
Gacias
  #2 (permalink)  
Antiguo 18/03/2004, 13:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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.
  #3 (permalink)  
Antiguo 18/03/2004, 13:22
Avatar de numbloq  
Fecha de Ingreso: marzo-2004
Ubicación: Capital Federal
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 0
como veras mi estilo de programacion no es muy ortodoxo, es mas, es todo un quilombo. pero bueno, despues pensaba pulirlo, parece que va a tener que ser ahora...
en fin

ahora, yo puedo hacer esto?
$anterior= "a";
setcookie("$anterior"."[checks]", "$recibe");

queriendo hacer esto...
setcookie("a[checks]", "$recibe");
Gracias
__________________
que el erlenmeyer carezca de tapa no es un problema que me aconte

Última edición por numbloq; 18/03/2004 a las 13:25
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 01:07.