Foros del Web » Programando para Internet » PHP »

PHP OO Error actualización variable de sesión

Estas en el tema de Error actualización variable de sesión en el foro de PHP en Foros del Web. Buenos días a todos, Estoy desarrollando una aplicación, pero todavía está muy crudo. Tengo una clase muy simple para leer, actualizar y verificar las sesiones. ...
  #1 (permalink)  
Antiguo 17/03/2012, 05:40
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 59
Antigüedad: 14 años
Puntos: 2
Error actualización variable de sesión

Buenos días a todos,

Estoy desarrollando una aplicación, pero todavía está muy crudo.

Tengo una clase muy simple para leer, actualizar y verificar las sesiones.

El problema viene cuando necesito actualizar la fecha de caducidad de la sesión, que no actualiza el valor.

La función en cuestión es EstaIniciada, y la llamo así:

Código PHP:
if ($sesion->EstaIniciada)
{
//hacer algo

La clase es la siguiente:

Código PHP:
    class sesion
    
{
        function 
__construct()
        {
            
session_start();
        }
        
        function 
EstaIniciada()
        {
            global 
$SESSION_MAX_IDLE_TIME;
            
$fechaActual time(date("d-m-Y H:i:s"));
            
$max date("d-m-Y H:i:s", ($fechaActual $SESSION_MAX_IDLE_TIME));
            
            if (isset(
$_SESSION["iniciada"]) and $_SESSION["iniciada"] and (time($this->Leer("fechaMaxima")) < $fechaActual))
            {
                
Escribir("fechaMaxima"$max);
                return 
true;
            }
            else
            {
                
Destruir;
                return 
false;
            }
/*            if (isset($_SESSION["iniciada"]) and isset($_SESSION["fecha"]) and isset($_SESSION["idUsuario"]) and isset($_SESSION["nombre"]) and isset($_SESSION["apellido"]) and isset($_SESSION["idNivel"]))
            {
                return true;
            }
            else
            {
                return false;
            }*/
        
}
        
        function 
Cerrar($id)
        {
            
        }
        
        function 
Leer($variable false)
        {
            if (!
$variable)
            {
                return 
$_SESSION;
            }
            else
            {
                return 
$_SESSION[$variable];
            }
        }
        
        function 
Escribir($nombre$datos)
        {
            
$_SESSION[$nombre] = $datos;
        }
        
        function 
Destruir()
        {
            
session_destroy();
        }
        
        function 
Basura($max)
        {
        
        }
    } 
La clase no está completa, pero estoy probando algunas funciones todavía.

Muchas gracias.
  #2 (permalink)  
Antiguo 17/03/2012, 11:06
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Error actualización variable de sesión

Yo creo que estás haciendo mal uso de las clases, por ejemplo:

Código PHP:
Ver original
  1. Escribir("fechaMaxima", $max);

Los métodos se deben llamar con $this, ejemplo:

Código PHP:
Ver original
  1. $this->metodo();

Tampoco necesitas usar:

Código PHP:
Ver original
  1. global $SESSION_MAX_IDLE_TIME;

En la clase lo puedes definir como un atributo

Código PHP:
Ver original
  1. private $SESSION_MAX_IDLE_TIME;

y puedes acceder a este con $this;

Código PHP:
Ver original
  1. $this->SESSION_MAX_IDLE_TIME;

Aquí llamas a un atributo y debes llamar es a un método (No olvides los paréntesis):

Código PHP:
Ver original
  1. if ($sesion->EstaIniciada) //$sesion->EstaIniciada()
  2. {
  3. //hacer algo
  4. }

Donde haces:

Código PHP:
Ver original
  1. Destruir;

Debes usar igualmente $this y es un método:

Código PHP:
Ver original
  1. $this->Destruir();

Creo que con eso ya entiendes la idea...

Tal vez te interese usar atributos static, consulte el manual:

http://www.php.net/manual/es/language.oop5.php

PD: Use la visibilidad de los métodos y atributos (public, private, protected).

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: sesión, variables, usuarios
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 07:16.