Foros del Web » Programando para Internet » PHP »

Problemas con las sessiones

Estas en el tema de Problemas con las sessiones en el foro de PHP en Foros del Web. Tengo un problema con las sesiones en el servidor. Tengo una pagina que tiene imagenes que se obtienen a traves de una pagina php, en ...
  #1 (permalink)  
Antiguo 19/07/2004, 17:12
 
Fecha de Ingreso: junio-2001
Ubicación: Cordoba, Argentina
Mensajes: 190
Antigüedad: 16 años, 6 meses
Puntos: 0
Problemas con las sessiones

Tengo un problema con las sesiones en el servidor. Tengo una pagina que tiene imagenes que se obtienen a traves de una pagina php, en vez de llamar a la imagen directamente llamo a la a una pagina que me muestra las imagenes segun parametros que le paso... como un tracker de mail....
por ejemplo...
<img src="imagen.php?idimagen=1"/>

el tema es el siguiente, dentro de ese archivo php que me muestra la imagen necesito tomar una variable de session que fue creada anteriormente y no la toma, al hacer echo session_id() me da que la pagina original y la de la imagen tienen SID distintos y no se porque, porque en realidad nunca sale del ie o mozilla
si alguien me puede ayudar ... gracias..
__________________
Martin
  #2 (permalink)  
Antiguo 19/07/2004, 17:25
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Cita:
me da que la pagina original y la de la imagen tienen SID distintos
Pruébalo haciendo un
Código PHP:
echo session_id() 
... Y si no supongo que tendrás que pasarle el SID "a mano".
Código PHP:
<img src="imagen.php?idimagen=1<?php SID ?>"/>
Saludos
  #3 (permalink)  
Antiguo 19/07/2004, 17:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Supongo que .. en imagen.php .. usas session_start() antes de pretender acceder a una variable de sesión.

Si el ID de sesión se genera denuevo es por qué el SID lo estás perdiendo o no propagando.

Como propagas tu el SID en tu servidor (configuración de PHP: php.ini):
session.use_cookies
session.use_trans_sid

Por qué .. en tu programación no propagas el SID a mano .. así que asumes que PHP lo hará por tí y eso depende de la configuración de PHP que uses.

También te recuerdo que PHP no sobrescribe un tag de imagen (según determine url_rewrite_tags ) para añadir el SID si es que no propagas el SID en cookies (ya sea por configuración: session.use_cookies = OFF o bien que no aceptas cookies en tus navegadores de pruebas). En esos casos tendrías que propagar el SID a mano en el URL que llamas a tu imagen.php tipo:

Código PHP:
<img src="imagen.php?idimagen=1&<? echo SID ?>">
Un saludo,
  #4 (permalink)  
Antiguo 19/07/2004, 18:07
 
Fecha de Ingreso: junio-2001
Ubicación: Cordoba, Argentina
Mensajes: 190
Antigüedad: 16 años, 6 meses
Puntos: 0
anduvo lo que me dijiste cluster cambie el
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fields et=,img=src"
y me agrego al final de la cadena el url el SID automaticamente..

De todas formas no me gusta esta solucion porque escribe el sid en la url, que me parece que es inseguro.
Me gustaria saber como configurar para usar cookies siempre ya que no he podido he puesto las siguientes variables y nada(servidor windows2000):

session.use_cookies = 1
session.use_only_cookies = 1
session.use_trans_sid = 0 (antes estaba en 1)

De todas formas gracias, me sirve porque es un servidor de pruebas....
__________________
Martin
  #5 (permalink)  
Antiguo 20/07/2004, 07:20
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 indicas se fuerza a propagar el SID en cookies:

session.use_cookies = 1
session.use_only_cookies = 1
session.use_trans_sid = 0 (antes estaba en 1)

Pero requiere de un navegador que acepte cookies (revisalo).

Sobre la configuración de cookies (para las sesiones) de PHP tienes otras directivas:

Cita:
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =
Sobre todo la de "session.cookie._domain" podría estar dandote problemas si es que la cookie no se crea (y verificado antes que tu navegador de pruebas acepte cookies).

Un saludo,
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 04:02.