Foros del Web » Programando para Internet » PHP »

Error con variables de sesion

Estas en el tema de Error con variables de sesion en el foro de PHP en Foros del Web. Estimados: Tengo un problema con las variables de sesion, la primera vez que entro al sitio todo va bien pero cuando cierro el navegador o ...
  #1 (permalink)  
Antiguo 12/07/2012, 16:03
 
Fecha de Ingreso: febrero-2011
Ubicación: quito
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Error con variables de sesion

Estimados:

Tengo un problema con las variables de sesion, la primera vez que entro al sitio todo va bien pero cuando cierro el navegador o la pestaña o simplemente me dirijo a una pagina diferente ya no existe la variable de sesion no es tan malo despues de todo, mi problema es que me dirijo al luga donde me identifico y spuestamente inicio una nueva sesion pero eso no funciona la sesion se inicia pero cuando cambio de pagina ya no tengo ninguna de las variables de session creadas.

Código PHP:
session_start();
  
$_SESSION['id'] = rand(19999999);  
  
$_SESSION['id_certificado'] = 0
esta es la parte donde me identifico con la aplicacion, la aplicacion crea estas variables de session y les asigna un valor

la primera vez que entro al sitio con un navegardor funciona si vuelvo a entrar deja de funcionar,

he eliminado las cokies la cache ed mi navegador pero sigo sin poder entrar, ya que para que me deje ver las otras paginas las variables deben tener un valor...


Gracias por su ayuda
  #2 (permalink)  
Antiguo 12/07/2012, 16:05
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Error con variables de sesion

pero debes primero validar si la sesion ya existe entonces crearla en tu login.php y en las demas paginas debes validar si existe o no la sesion en cada pagina deberias poner @session_start y validar si una variable de tu sesion existe
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 12/07/2012, 16:11
 
Fecha de Ingreso: febrero-2011
Ubicación: quito
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Información Respuesta: Error con variables de sesion

Cita:
Iniciado por Dradi7 Ver Mensaje
pero debes primero validar si la sesion ya existe entonces crearla en tu login.php y en las demas paginas debes validar si existe o no la sesion en cada pagina deberias poner @session_start y validar si una variable de tu sesion existe
he validado las variables de session, ademas no creo que sea ese el problema porque cuando ingreso por primera vez a mi aplicacion con un navegador que no haya usado para entrar al sitio todo esta bien, l problema surge cuando cierro el navegador o las pestañas o simplemente abandono el sitio, estaba revisando y el login.php si esta iniciando la variables de session es el admin quien no esta recibiendo esas variables
  #4 (permalink)  
Antiguo 12/07/2012, 16:13
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Error con variables de sesion

Seria mas factible que pongas entonces tu codigo de como lo estas haciendo tanto al momento de crear la sesion como al momento de validarla en tus paginas
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 12/07/2012, 16:17
 
Fecha de Ingreso: febrero-2011
Ubicación: quito
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Mensaje Respuesta: Error con variables de sesion

Cita:
Iniciado por Dradi7 Ver Mensaje
Seria mas factible que pongas entonces tu codigo de como lo estas haciendo tanto al momento de crear la sesion como al momento de validarla en tus paginas
ok

asi inicio la session

Código PHP:
session_start();
 
$_SESSION['id'] = rand(19999999);  
                   
$_SESSION['id_certificado'] = 0

y asi la verifico en una pagina nueva

Código PHP:
session_start();
if (!empty(
$_SESSION['id'])):
print 
'estoy adentro';
else:
print 
'error';
endif; 
  #6 (permalink)  
Antiguo 12/07/2012, 16:25
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Error con variables de sesion

debes validar tambien en tu login algo como asi

Código PHP:
Ver original
  1. // en tu login principal
  2.     @session_start();
  3.     if(!isset($_SESSION['id'])){// valida si existe o esta creada esta variable de session
  4.         $_SESSION['id'] = 1; // es un ejemplo;
  5.         header("Location: main.php");
  6.     }else{
  7.         header("Location: main.php");
  8.     }
  9.    
  10.     // en las demas paginas
  11.     @session_start();
  12.     if(!isset($_SESSION['id'])){// valida si existe o esta creada esta variable de session
  13.         header("Location: login.php");
  14.     }

OJO

la session si va a morir si se cierra el navegador, cuando cambia de pestaña se cierra la pestaña no debería morir
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 12/07/2012, 16:40
 
Fecha de Ingreso: febrero-2011
Ubicación: quito
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Error con variables de sesion

Cita:
Iniciado por Dradi7 Ver Mensaje
debes validar tambien en tu login algo como asi

Código PHP:
Ver original
  1. // en tu login principal
  2.     @session_start();
  3.     if(!isset($_SESSION['id'])){// valida si existe o esta creada esta variable de session
  4.         $_SESSION['id'] = 1; // es un ejemplo;
  5.         header("Location: main.php");
  6.     }else{
  7.         header("Location: main.php");
  8.     }
  9.    
  10.     // en las demas paginas
  11.     @session_start();
  12.     if(!isset($_SESSION['id'])){// valida si existe o esta creada esta variable de session
  13.         header("Location: login.php");
  14.     }

OJO

la session si va a morir si se cierra el navegador, cuando cambia de pestaña se cierra la pestaña no debería morir
ok sigue sin funcionar la session sigue vacia cuando llega al admin personas

vamos por partes el header solo redirecciona una pagina verdad, yo lo reemplace por el texto que tenia antes para ver el resultado de las variables, pero sigue sin funcionar...

para que pueda ver lo que está pasando le doy el link de la pagina

http://www.cendendt.com/certificados/cliente/consultar.php

siempre se esta haciendo un var_dump a la variable $_SESSION

la primera vez funciona luego ya no, (le puse el codigo de esta respuesta)

la primera vez que pasa del login el array esta en cero pero despues deque me niega la etrada las variables de session ya tienen valor


http://www.cendendt.com/certificados/cliente/consultar.php

user & pass: admin
  #8 (permalink)  
Antiguo 12/07/2012, 16:53
Avatar de topo_bionico  
Fecha de Ingreso: junio-2012
Mensajes: 89
Antigüedad: 12 años, 5 meses
Puntos: 20
Respuesta: Error con variables de sesion

Probaste poniendo el ID de sesión?

Se usa para identificar una sesión, sino cada vez que recargas la web es una nueva sesión distinta la anterior y siempre va antes de session_start();

session_name('un_nombre');

Código PHP:
Ver original
  1. // en tu login principal
  2.     session_name('un_nombre'); //Siempre primero para identificar el ID de sesión.
  3. * * if(!isset($_SESSION['id'])){// valida si existe o esta creada esta variable de session
  4. * * * * $_SESSION['id'] = 1; // es un ejemplo;
  5. * * * * header("Location: main.php");
  6. * * }else{
  7. * * * * header("Location: main.php");
  8. * * }
  9. * *
  10. * * // en las demas paginas
  11. * * if(!isset($_SESSION['id'])){// valida si existe o esta creada esta variable de session
  12. * * * * header("Location: login.php");
  13. * * }

Etiquetas: sesiones
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:05.