Foros del Web » Programando para Internet » PHP »

Problema con sentencia de cookie

Estas en el tema de Problema con sentencia de cookie en el foro de PHP en Foros del Web. Hola gente, que tal? Tengo un problema, trato de utilizar el siguiente llamado a cookie para evitar que se incremente el contador si se entra ...
  #1 (permalink)  
Antiguo 14/07/2005, 10:20
 
Fecha de Ingreso: junio-2005
Mensajes: 35
Antigüedad: 12 años, 6 meses
Puntos: 0
Problema con sentencia de cookie

Hola gente, que tal?

Tengo un problema, trato de utilizar el siguiente llamado a cookie para evitar que se incremente el contador si se entra nuevamente al poco tiempo:
<?php
if (isset($HTTP_COOKIE_VARS["contador"])) {
setcookie("contador","1",time()+1);
}
?>

y me dá el siguiente error:

Warning: Cannot send session cookie - headers already sent by (output started at ...

Warning: Cannot send session cache limiter - headers already sent (output started at ...

Hablando con el administrador del sitio, me dice que el problema está en la forma de invocar ésta instrucción, que en algunos servidores funciona bien, en otras mal ¿?

Alguien tuvo éste problema y lo solucionó? me pueden decir como?

Muchas gracias...
__________________
(-_Andres_-)

~[ No creo en la casualidad, si estamos aqui es por algun motivo! ]~
~{ No desperdices tu oportunidad! }~
  #2 (permalink)  
Antiguo 14/07/2005, 10:32
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
headers

A mi me ocurrio de una forma semejante pero con un header(refresh). En mi maquina funcionava pero en el server no. Normalmente este tipo de error suele dar cuando las cabeceras de la pagina ya han sido enviadas con el correspondiente error de que no puedes enviar nada si ya todo ha sido enviado. Mira que no tengas algun echo antes de esta llamada (el echo provoca la salida de las cabeceras a servidor). Si aun asi no funcionase, tendras que ponerlo al principio de todo.Antes de cualquier cosa (antes de los tags html incluso), porque en algun caso al aparecer los tags html i head, las cabeceras son enviadas tambien.

En resumen procura que esta sentencia sea lo primero que se lea
__________________
abe_k

Si quieres visitar Andorra, consulta la guia de este pequeño pais y conseguiras toda la información que necesites. La guia del visitante en Andorra
  #3 (permalink)  
Antiguo 14/07/2005, 10:35
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
otra cosa

Otra cosa,

Código:
$HTTP_COOKIE_VARS["contador"]
no se que version usas de php pero si es la 4 o superior, cambia esta por:

Código:
$_COOKIE["contador"]
__________________
abe_k

Si quieres visitar Andorra, consulta la guia de este pequeño pais y conseguiras toda la información que necesites. La guia del visitante en Andorra
  #4 (permalink)  
Antiguo 14/07/2005, 10:56
 
Fecha de Ingreso: junio-2005
Mensajes: 35
Antigüedad: 12 años, 6 meses
Puntos: 0
Gracias Abe_k por la pronta respuesta,

te cuento que es la primera instrucción que pongo, al principio de cualquier instrucción html...

Modifiqué la instrucción que em decís y ahora tengo éste mensaje:

Cannot send session cookie - headers already sent by (output started at ....

Saludos...
__________________
(-_Andres_-)

~[ No creo en la casualidad, si estamos aqui es por algun motivo! ]~
~{ No desperdices tu oportunidad! }~
  #5 (permalink)  
Antiguo 14/07/2005, 11:07
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
es muy raro pq aparentemente esta bien. y si, como dices, es lo primero que se ejecuta al iniciar la pagina....

Pudiera ser algun problema de directiva del php.ini (en lo referente a las cookies?). Miralo, no se decirte mas
__________________
abe_k

Si quieres visitar Andorra, consulta la guia de este pequeño pais y conseguiras toda la información que necesites. La guia del visitante en Andorra
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 03:57.