Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/10/2004, 07:27
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
No uses los session_register para trabajar con sesiones .. usa los arrays superglobales: $_SESSION .. tanto para registrar una variable (con su valor) en una sesión como para leer su valor (igual que haces con tus $_POST y demás variable externas a tu script).

Puede ser que uses register_globals a OFF y por eso no puedes usar session_register() .. además que si usas PHP 4.1.x en adelante debes trabajar con los arrays superglobales y así hacer independiente tus aplicaciones del valor de esa directiva (php.ini).

Otros problemas que puedas tener son sobre la propagación del SID, .. por lo que usas en tu código lo haces por cookies (o estás obligando a la propagación del SID de sesión .. no de las otras cookeis que a su vez usas tu en tu aplicación). La propagación del SID en cookies requiere de: (php.ini o lo puedes ver en un phpinfo()):

session.use_cookies = ON

Y un navegador que acepte cookies.

más info:
www.php.net/session

Por lo demás .. tampoco uses:
if(!$ultima_visita){

sino en tal caso:
if (!isset($_SESSION['ultima_visita'])){

La función isset() (o incluso empty()) te sirve para ver si una variable está definida o no.

------

Otro detalle .. session_register() registra variables $variables (globales) no $_POST['variable'] ..

Por eso insisto que deberías hacer (uso de los arrays superglobales) para asigar tus variabels de sesión tipo:

$_SESSION['variable']=$_POST['variable']

Y .. el header("location: .. pagina ... ");

hacerlo al final de la declaración de las variables junto con un exit; para terminar la ejecución de tu script en ese punto, pues .. es lo que estás haciendo: llegar a ese punto y redireccionar tu script a otro para "cambiar" .. no te interesa que siga ejecutandose el código que viene a continuación.

Un saludo,

Última edición por Cluster; 08/10/2004 a las 07:37