Foros del Web » Programando para Internet » PHP »

tengo un lio con las sesiones

Estas en el tema de tengo un lio con las sesiones en el foro de PHP en Foros del Web. estoy intentando usar variables globales (sesiones) y ya lei toda la teoria, pero no me queda claro como es el tema. yo estoy haciendo esto ...
  #1 (permalink)  
Antiguo 04/01/2005, 15:33
 
Fecha de Ingreso: octubre-2004
Ubicación: Ashdod, Israel
Mensajes: 51
Antigüedad: 19 años, 6 meses
Puntos: 0
tengo un lio con las sesiones

estoy intentando usar variables globales (sesiones) y ya lei toda la teoria, pero no me queda claro como es el tema.

yo estoy haciendo esto al principio del php

<?
session_start();
if(empty($_SESSION['ant_f1']))
$_SESSION['ant_f1']=0;
else
$ant_f1=$_SESSION['ant_f1'];
?>

y cuando se ejecuta la pagina con

http://localhost/sitio/index.php

me sale el siguiente error:

Notice: Undefined variable: ant_f1 in c:\inetpub\wwwroot\sitio\principal.php on line 19

aclaro que principal.php es llamado desde index.php con un include

alguna ayuda para aclarar el tema, por favor !!!

desde ya, Gracias !!!

Saludos

Ernesto Aides
  #2 (permalink)  
Antiguo 04/01/2005, 16:31
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
creo que debes de poner en un archivo principal.php session_start(), porque al inicio declarastes la variable de sesion ant_f1, y justo cuando llama a principal tambien debes de iniciar la sesion.

Saludos
Gildus
__________________
.: Gildus :.
  #3 (permalink)  
Antiguo 05/01/2005, 01:52
 
Fecha de Ingreso: octubre-2004
Ubicación: Ashdod, Israel
Mensajes: 51
Antigüedad: 19 años, 6 meses
Puntos: 0
pero justamente aca es donde no entiendo... cuando hago session_start...
cuando defino (y como) la variable... como se si ya tiene valor o si debe "crearla" o asignarle un valor inicial...

voy a aclarar mas como lo estoy haciendo:

primera pagina: index.php

aca hago, antes que nada... incluso antes que la etiqueta <HTML> lo siguiente:

<?
session_start();
if(empty($_SESSION['ant_f1']))
$_SESSION['ant_f1']=0;
else
$ant_f1=$_SESSION['ant_f1'];
?>

luego esta pagina abre index1.php que es la verdadera pagina del sistema

pagina del sistema: index1.php

aca tambien puse al principio de todo el mismo codigo:

<?
session_start();
if(empty($_SESSION['ant_f1']))
$_SESSION['ant_f1']=0;
else
$ant_f1=$_SESSION['ant_f1'];
?>

y dentro de esta pagina, en una celda de una tabla se hace el include de principal.php, que no es una pagina diferente, sino solo el contenido de la celda (no tiene <html> ni <title> ni <body>... es solo la celda)

y aca se ejecutan ciertos calculos para mostrar una imagen aleatoria, y quiero guardar en ant_f1 el numero de foto para comprarlo la proxima vez que elija aleatoriamente y si es el mismo re-calcular para no repetir...

y es justo aca donde da ese error que mencionaba:

Notice: Undefined variable: ant_f1 in c:\inetpub\wwwroot\sitio\principal.php on line 19

aclaro, porque no se si se entendio en el mensaje original, que el error lo da solo cuando lo ejecuto en modo local; en el servidor no aparece... y ademas, en modo local, despues las variables toman los valores que corresponden, es solo una advertencia... pero me gustaria saber por que pasa, aparte que me desacomoda todo...

Saludos

Ernesto Aides
  #4 (permalink)  
Antiguo 05/01/2005, 09:57
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Hola est89 , solo pon session_start() al inicio en tu archivo principal.php. Pues la session se inicia siempre en cada archivo (de prioridad).

Si inicialmente en cualquiera que sea tu navegacion si iniciastes la variable de sesion ant_f1 con un valor cero digamos, cada vez que inicies una sesion session_start() en cualquier archivo que llames siempre permanecera el valor que inicialmente asignastes a ant_f1, (ahora si no le asignastes es otra cosa).


Saludos
Gildus
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 05/01/2005, 10:58
 
Fecha de Ingreso: febrero-2004
Ubicación: Bogotá, Colombia
Mensajes: 191
Antigüedad: 20 años, 2 meses
Puntos: 1
Si quiere registrar la variable dentro de la session lo que puede hacer es lo siguiente:

session_start();
//registro la var en la session
session_register("var");
//Le asigno el valor q quiero
$var=0;

y listo, cuando arranque la session en los otros scripts maneja la variable comun y silvestre.
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 22:22.