Foros del Web » Programando para Internet » PHP »

como puedo hacerlo con cookie

Estas en el tema de como puedo hacerlo con cookie en el foro de PHP en Foros del Web. he estado revisando el foro y no he podido ver algo parecido... tengo que mostrar un popup con noticias. entonces debe hacer algo como lo ...
  #1 (permalink)  
Antiguo 12/05/2003, 15:48
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
como puedo hacerlo con cookie

he estado revisando el foro y no he podido ver algo parecido...

tengo que mostrar un popup con noticias.
entonces debe hacer algo como lo siguiente:

existira una cookie q sera una variable arreglo $cookie[] que contendra las id de las noticias q no seran vistas en el popup.
cada noticia desplegada en el popup tendra una opcion de NO VER MAS lo que permitira incluirla en la cookie y asi no verla en el popup denuevo...

pero mi problema es como puedo ver si existe la cookie y poder mostrar ciertos datos y cuando activa una noticia para no verla mas como puedo actualizar la cookie???

por favor ayudenme u orientenme que estoy demasiado perdio...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 12/05/2003, 21:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. te recomiendo que empieces por un tutorial para aprender a manejarte con cookies .. pues es la base de lo que estas pidiendo .. Luego es cosa de hacer la consulta SQL pertinene a tu base de datos que descarte esos "ID" que tienes en tu cookie (eso en el foro de "Base de datos" te podrán orientar mejor al respecto .. sería algo tipo: SELECT * FROM tabla WHERE id NOT IN (lista de IDs) o algo así ...)

Tutoriales sobre gestionar cookies desde PHP:
http://www.php.net/manual/es/function.setcookie.php (Aquí se explica como propagar un array (arreglo) en una cookie .. revisalo).
http://www.rinconastur.com/php/php65.php


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 13/05/2003, 09:15
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
ok gracias Cluster....
he revisado esos link y he avanzado bastante, pero hay ciertas interrogantes q no puedo sacar...
como por ejemplo:
revisando la FAQ encontre que para destruir la cookie tengo que poner lo siguiente
setcookie("nombre","valor",time()-3600);

tengo duda con el VALOR y el TIEMPO?

la forma de destruirla quiere decir que si hago un isset($nombre) me daria falso??


mi otra pregunta es como inicializo una cookie que no muera nunca osea sin tiempo fijo...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #4 (permalink)  
Antiguo 13/05/2003, 11:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para destruir la cookie .. debes de indicar una fecha "pasada" .. Ahí eso lo hace time()-3600 .. osese, la hora actual - (menos) 3600 segundos ... El caso es que no sea time() sólo ...

Si quieres una cookie que no expire . No uses el parámetro de tiempo de expiración (el tercero .. eso de time()-3600 en ese caso)

Sólo recuerda que la cookie estará "destruida" (o modificado su valor o creada incluso) cuando hagas la próxima petición al servidor .. Osese, no podrías hacer esto por ejemplo y esperar que el isset() te diga que la cookie ya no existe:

Código PHP:
<?
setcookie
("nombre","valor",time()-3600);

if (isset(
$_COOKIE['nombre_cookie'])){
   echo 
"está creada la cookie";
} else {
  echo 
"No está creada la cookie";
}
?>
La "petición" al servidor se refiere a una recarga de página .. o a un link que ejecutes . o un formulario que envies .. o una redirección (de cualquier tipo y hasta si quieres sobre la misma página) ..

Te recomiendo que leas el manual oficial de PHP en el tema setcookie() .. ahí explica todo lo que te acabo de comentar.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 13/05/2003, 18:00
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
no quise abrir otro post para preguntar algo de las cookie...

lo q he realizado funciona bien, me reconoce las cookie y las que no me las crea osea perfecto, pero desde otra pagina quiero ver si existen las cookie y no me las reconoce en la otra pagina, debo inicializar para q me reconozca cookies?

revise el manual y la web pero por lo visto deveria mostrarme y no me hace nada...

lo probe con echo $HTTP_COOKIE_VARS['variable']
y tambien con echo $_COOKIE['variable']
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #6 (permalink)  
Antiguo 13/05/2003, 18:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Así como las pretendes leer las variables de la cookie es como se debe hacer ..

¿Cómo estas viendo si tienes X variable en la cookie creada? .. ¿cómo y con qué tiempo de expiración has guardato esa variable en una cookie .. (tal vez le has dado poco tiempo y expiró)?

Tu navegador acepta cookies? ...

por cierto .. me equivoqué en esto:
Cita:
Si quieres una cookie que no expire . No uses el parámetro de tiempo de expiración (el tercero .. eso de time()-3600 en ese caso)
Debes darle un tiempo de varios años como para que simule "infinito" (que no expire nunca) ... Recueda que todo tiempo en la cookie va expresado en segundos.


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

Última edición por Cluster; 13/05/2003 a las 18:18
  #7 (permalink)  
Antiguo 13/05/2003, 18:19
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
tengo solo una cookie creada... que fue creada en un popup que se carga con el index.php e incluso ahi tengo la opcion de ver la cookie como señale denantes y muestra el valor, pero en otra pagina pongo lo mismo y no me muestra el valor

la cookie la cree sin time() solo puse el nombre y valor

y mi navegador si acepta cookie pq lo pude ver en el popup
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #8 (permalink)  
Antiguo 13/05/2003, 18:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa tiempo de expiración (con time()+segundos que quieres que dure ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 13/05/2003, 18:29
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
le puse tiempo e igual tengo el mismo resultado...

solo puedo ver el valor de la cookie cuando hago el echo en el archivo popup.php, pero en otro archivo tengo el mismo echo y no lo muestra...
no entiendo ....
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #10 (permalink)  
Antiguo 13/05/2003, 18:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La página donde defines la cookie y las páginas que lees tu cookie .. están en el mismo directorio?

Te lo comento por qué hay más parámetros para definir una cookie.. como por ejemplo el "path" ..


Podrías poner el código que lanza a tu "popup"y el código de la página que llamas en tu popup? .. Me parece que no estas registrando la cookie (en tu navegador) y lo que lees es el valor de la variable que estas intentando registrar ... Date cuenta que las cookies no quedan disponibles hasta que se haga una petición al servidor (recarga de página o leas esa cookie en otra página ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 13/05/2003, 18:44
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
ok.
la creacion esta correcta y la probe... creo q el problema esta en la path pq el archivo popup.php esta en la raiz y el otro archivo estan dentro de 2 directorios...
lo malo q no puedo dejar los dos archivos en la misma path

me falto el codigo
simplificando tengo esto
popup.php
Código PHP:
if (!isset($HTTP_COOKIE_VARS['C1']){
    
setcookie("C1","1",time()+172800);

}
header("location: popup.php");

//cuando vuelve hago la opcion mostrar
echo $HTTP_COOKIE_VARS['C1'];
//muestra el valor correcto 
directorio1/directorio2/principal.php
Código PHP:
echo $HTTP_COOKIE_VARS['C1'];
//aqui no me muestra nada, en cambio popup si 
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #12 (permalink)  
Antiguo 13/05/2003, 18:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, .. pues para eso tienes ese parámetro .. para que indiques a partir de que directorio de tu sitio ha de actuar y tener validez tu cookie ...

Usa el raiz de tu sitio "/"

fijate:
http://www.webestilo.com/php/php13b.phtml

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 13/05/2003, 18:57
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
juaz !!!
lo de la path me complica.. si tengo en setcookie en el popup.php
debo colocar la path de donde quiero q tambien me tome el valor como por ejemplo
"directorio1/directorio2"
???
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #14 (permalink)  
Antiguo 13/05/2003, 20:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ahí no sé ... prueba a usar "/" que es lo típico .. lo pruebas y nos comentas (apenas uso cookies .. uso sesiones preferentemente xD)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 23:12.