Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/09/2004, 19:27
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
nada mas asignar el valor a la variable de sesión, hago un ECHO y veo que el valor se ha asociado correctamente
En principio .. el valor de una variable de sesión (e incluso aplicable a cookies) no queda registrado hasta la próxima petición al servidor (de una página) .. sea por un cambio de script (redireccionamiento) ... o que pasas de un script a otro por un link .. por un formulario HTML .. etc.


Cita:
session_start();
session_register('valid_user');
$numero_aleatorio=rand(0,1000);
$HTTP_SESSION_VARS['valid_user']=$numero_aleatorio;
Todo eso no es correcto .. Debes usar los arrays superglobales $_SESSION (si usas PHP 4.1.0 o superior) . y si usas una versión inferior .. para registrar el valor de una variable de sesión se hace con session_register() donde indicas el Nombre de la variable y posteriormente le asignas un valor cualquiera que luego puedes obtener iniciando el uso de sesiones con session_start() y accediendo al array $HTTP_SESSION_VARS .. pero lo recomendable es -sólo- usar los arrays superglobales $_SESSION y no mezclar métodos de registros de variables en sesiones (pues hay dos). En esta FAQ se comenta un ejemplo básico para ambos casos:

http://www.forosdelweb.com/showthrea...998#post238998

Por lo demás .. el hecho de que puedas o no tomar (recuperar) el valor de una variable de sesión que en algún script creas (registras) .. depende directamente de que se propague el SID (Identificador único de sesión).

La propagación del SID se puede hacer por cookies o por el URL .. y eso lo define la configuración de PHP que tengas (php.ini directivas: session.use_trans_sid .. session.use_cookies). Si propagas el SID en cookies esto implicará a su vez que tu navegador de pruebas acepte cookies. Debes conocer como tu configuración está propagando el SID para adaptar tu programación (si corresponde: propagar a mano el SID en tus links y demás redireccionamientos).

A todo esto .. no se vé como pasas de un script a otro (página) del que crea la variable de sesión al que intentas leerla. Debe ser por un link desde la página1 a la siguiente .. o redireccionamiento . o formulario HTML que envias a llamar a otro script (en el "action" del form ..). Será en ese "link" donde PHP propagará (insertará) el SID o lo hará en una cookie o lo tendrás que hacer tu a mano.

Puedes leer más sobre el SID en www.php.net/session o usando el buscador del foro (por mi parte he hablado mucho sobre ese tema).

Un saludo,