Foros del Web » Programando para Internet » PHP »

sesiones en php

Estas en el tema de sesiones en php en el foro de PHP en Foros del Web. Hola a todos. Mi problema esta relacionado con las sesiones y es el siguiente: Tengo registrado dos variables de sesion en una pagina php. En ...
  #1 (permalink)  
Antiguo 27/03/2004, 09:52
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Sonrisa sesiones en php

Hola a todos. Mi problema esta relacionado con las sesiones y es el siguiente:

Tengo registrado dos variables de sesion en una pagina php. En otra pagina php abro la sesion e intento imprimir los valores de dichas variables en la parte final de mi web que contiene php y html y no obtengo nada. En cambio probe a imprimir dichas variables de sesion al principio del todo donde abria la sesion con "session_start()" y obtengo el resultado correcto.

¿ES ENTONCES QUE NO SE PUEDE HACER REFERENCIA A DICHAS VARIABLES DE SESION SI NO ES AL PRINCIPIO DEL CODIGO?

Un trozo del codigo involucrado es:

<?php
session_start();
?>

.....................................
....................................

<?
echo $HTTP_SESSION_VARS['pasar'];
echo "<br>";
echo $HTTP_SESSION_VARS['usuario_sesion'];
?>
  #2 (permalink)  
Antiguo 27/03/2004, 13:19
 
Fecha de Ingreso: marzo-2004
Mensajes: 2
Antigüedad: 20 años
Puntos: 0
Lo que cuentas es algo extraño, si eres capaz de leerla al principio se debe leer tambien en el final, a menos que tengas un session_write_close() por medio, k no creo, no se, prueba a leerlas con $_SESSION['variable'] , y revisa las mayusculas y minusculas...,, y asegurate que no estas viendo la cache del navegador....
  #3 (permalink)  
Antiguo 28/03/2004, 20:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Siempre que desees usar variables de sesión debes usar:

session_start() (a no ser que uses session.auto_start en tu php.ini a ON .. que no es recomendable).

Dicha fución debes usarla antes de acceder a tus variables de sesión pro los arrays superglobales (recomendados): $_SESSION (o en su defecto por $HTTP_SESSION_VARS ...).

El otro tema IMPORTANTE sobre sesiones se refire a la propagación del "SID" (Identificador Único de Sesión) .. ese ID de sesió ha de propagaser de alguna forma: sea por cookies, por el URL y en este caso automáticamente o manualmente en tus links/redireccionamientos que hagas ...

Las directivas de tu php.ini que influyen sobre este tema de propagación del SID son:

session.use_cookies = ON/OFF (1 o 0)
session.use_trans_sid = ON/OFF (1 o 0)

Depende del estado de estas directivas así tendras que programar la propagación del SID ..

Al no mencionar nada sobre el SID o links que usas para pasar de un script que generas tus variables de sesión al otro que pretendes leerlos .. he de deducir que estás asumiendo que PHP va a propagar el SID por tí de forma automática minimo ..

Para esto deberías usar:
session.use_cookies = ON y un navegador que acepte cookies

(como para no tener problemas con todo tipo de redireccionamientos/frames y demás .. que puedas usar; en especial redireccionamientos javascript, META de refresh HTML, y header ("location ...") de PHP ..)

Revisa el capítulo del manual oficial de PHP sobre sesiones en el apartado "SID" para comprender como funcionan las sesiones de PHP:

www.php.net/session

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 20:04.