Foros del Web » Programando para Internet » PHP »

Duda funciones y cookies

Estas en el tema de Duda funciones y cookies en el foro de PHP en Foros del Web. Hola a todos estoy intentado implementar un sistema para validar usuarios y según su perfil dejar visible cierta información de la web (si, muy tipico). ...
  #1 (permalink)  
Antiguo 17/08/2005, 06:26
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 8 meses
Puntos: 0
Duda funciones y cookies

Hola a todos

estoy intentado implementar un sistema para validar usuarios y según su perfil dejar visible cierta información de la web (si, muy tipico). Lo estoy haciendo con cookies y he logrado que funcione si escribo el script en la pagina php que se ejecuta. Sin embargo, quiero que ese codigo también se ejecute en una función php que implementa el menu superior de mi página, pero es ahí cuando no funciona (da la sensación de que no "ve" las cookies". Os hago un esquema para aclararlo:
Código HTML:
[B]<body>
<? zona_superior (); ?> [/B] --> [I]esta es la funcion que implementa el menu superior y que tiene el codigo para reconocer las cookies, pero que no lo hace[/I]
-- sigue html----
[B]<? codigo para tratar las cookies que aquí si funciona. Es el mismo que el que esta implementado en la funcion anterior ?>[/B]
¿Podría estar el error en que la pagina php y la función estén en directorios diferentes?. Como nota decir que zona_superior funciona perfectamente salvo por este motivo.

Gracias por la ayuda
  #2 (permalink)  
Antiguo 17/08/2005, 07:50
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
si estan en directorios diferentes deberas especificar la ruta para incoporar la funcion a traves de un include, ya no puedes hacer sólo esto: include("funcion.php"), sino que debes hacer esto: include("ruta/funcion.php"); la ruta puede ser relativa o absoluta con repecto al documentroot
  #3 (permalink)  
Antiguo 17/08/2005, 14:53
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 8 meses
Puntos: 0
Efectivamente, eso ya lo tengo implementado y por ello la función funciona. Lo único que no funciona es lo de las cookies, y más que no funcionar, lo que ocurre es el código para reconocer las cookies en la función da la sesación de que no "ve" las cookies, mientras que el mismo código en la pagina php si lo hace.
  #4 (permalink)  
Antiguo 17/08/2005, 15:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Por que necesitas leer 2 veces la cookie?, no basta con colocar el codigo una vez antes del <body>

Código PHP:
<?php
   codigo para leer coookie
?>
<body>
<? zona_superior (); ?> --> [I]esta es la funcion que implementa el menu superior y que tiene el codigo para reconocer las cookies, pero que no lo hace
-- sigue html----
<? codigo para tratar las cookies que aquí si funcionaEs el mismo que el que esta implementado en la funcion anterior ?>
La funcion zona superior podria recibir como parametros ciertos valores en lugar de leer la cookie ella misma.
  #5 (permalink)  
Antiguo 18/08/2005, 09:43
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 8 meses
Puntos: 0
Tienes toda la razón, no es necesario hacer la lectura 2 veces. No obstante, ¿cómo hago para que una variable sea leida por cualquier función?. Me refiero a si es posible que antes de la función, lea las cookies y las guardo en variables, pero ¿cómo se las paso luego a la función?. Y si luego las necesito después del body, ¿cómo las puedo recuperar?. Es más, ten en cuenta que en cada página del site tengo que comprobar las cookies, por lo que me interesa leerlas desde una función (para modificarla de forma sencilla) y luego que las variables de esa función sean "leibles" por el resto del site...

No sé si eso se puede hacer o tengo que repietir siempr el código.

Gracias por la ayuda
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 00:52.