Foros del Web » Programando para Internet » PHP »

pequeña duda con las variables de sesion

Estas en el tema de pequeña duda con las variables de sesion en el foro de PHP en Foros del Web. saludos... pasa que tengo varias paginas y voy guardando variables, pero aca es donde tengo el error/duda, se supone que las variables no se pierden ...
  #1 (permalink)  
Antiguo 20/02/2006, 06:44
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 3 meses
Puntos: 0
pequeña duda con las variables de sesion

saludos...
pasa que tengo varias paginas y voy guardando variables, pero aca es donde tengo el error/duda, se supone que las variables no se pierden hasta que uno cierra el browser?, si es asi, me pasa que en una pagina no me lo esta tomando, entonces ahi va la pregunta.
Estoy usando en una pagina un pequeño javascrip el cual sirve para redireccionar la pagina actual en otra en un par de segundos´
Código:
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="2; URL=http://localhost/php/calidesp.php">
</head>
entonces por ej al llegar a calidesp.php no me toma ciertas variables y me sale el tipico error de que no estan definidas. El rediccionar me abre en mi misma pagina.
entonces la duda era si el redireccionamiento me mataba las sesiones?

toy usando iis

nos vemos
  #2 (permalink)  
Antiguo 20/02/2006, 07:05
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Para que las variables de sesion sean accesibles en todas las paginas, todas ellas deben llamar a la función session_start(), no habrás olvidado eso?
  #3 (permalink)  
Antiguo 20/02/2006, 07:27
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 3 meses
Puntos: 0
olas claudio, pues no, no lo he olvidado.
lo raro es que en el localhsot me funciona bien, al hacer ese redireccionamiento las variables q guardo no se pierden, pero en el servidor si,
por el momento la solucion es que en vez de redireccionar automaticamente, hay un texto q linkea a calidep.php y ahi funciona bien, pero igual tengo la duda de porq pasara eso...

nos vemos
  #4 (permalink)  
Antiguo 20/02/2006, 07:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Los problemas que tienes se refieren a la propagación del SID.

Es un "mito" el comentario que hace todo el mundo sobre:
"se supone que las variables no se pierden hasta que uno cierra el browser?,"
(no vá contra tí . .pero es una frase tópica que por mi parte intento hacer ver que no hay nada que asumir ni cosas que sucedan por qué sí).

Comprueba como propagas el SID en tu aplicación y como lo hace la configuración de PHP.

Si dices que en "local" te funciona . .ahí es donde está interviniendo la configuración de PHP (distinta en tus servidores al parecer) sobre sesiones.

Revisa este mensaje:
http://www.forosdelweb.com/showpost....76&postcount=6

ahí hablo sobre el "SID" y su propagación + directivas de PHP de configuración que definen "como" PHP lo va hacer.

También revisa la documentación oficial de PHP al respecto. Es necesario que sepas como funcionan las sesiones .. No confiar en "mitos" o por qué siempre me funciona . .así debe funcionar en todos sitios. Resulta que PHP para bien o para mal es altamente configurable y le afecta mucho la configuración.

Te invito a leer la documentación de sesiones de pHP y todo lo referente a su configuración:
www.php.net/session

---------------

Podría decirte también que una solución podría ser usar:

Código PHP:
<meta HTTP-EQUIV="Refresh" CONTENT="2; URL=http://localhost/php/calidesp.php?<? echo SID ?>">
Pero realmente eso viene por toda la teoría anterior .. es más no se trata de solucionar el problema "así" para ese caso sino en decidir como realmente quieres propaga el SID en tu aplicación atendiendo a los problemas de seguridad por ejemplo que plantea el uso del SID propagado en el URL.

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 18:59.