Click here to Skip to main content
15,884,721 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
<pre lang="PHP">
<?php
define('SESSION_PATH', dirname(realpath(__FILE__)));
class AppSessionHandler extends SessionHandler
{
    private $sessionLifeTime = 0;
    private $sessionSavePath = SESSION_PATH;
    private $sessionName = 'MyDefsultSession';
    private $sessionPath = '/';
    private $sessionDomain = 'phpdev';
    private $httpOnly = true;
    private $secure = false;
    private $ttl = 1;
    public function __construct()
    {
        // default settings for session 
        ini_set('session.use_cookies', 1);
        ini_set('session.use_only_cookies', 1);
        ini_set('session.use_trans_id', 0);
        ini_set('session.save_handler', 'files');
        session_set_cookie_params($this->sessionLifeTime, $this->sessionPath, $this->sessionDomain, $this->secure, $this->httpOnly);
        session_name($this->sessionName);
        session_save_path($this->sessionSavePath);
        session_set_save_handler($this, true);
    }
    public function __set($key, $value)
    {
        $_SESSION[$key] = $value;
    }
    public function __get($key)
    {
        return (array_key_exists($key, $_SESSION)) ? $_SESSION[$key] : false;
    }
    public function start()
    {
        if (session_id() === '') {
            if (session_start()) {
                if (!isset($this->sessionStartTime)) {
                    $this->sessionStartTime = time();
                }
            }
        }
    }



    public function read($id): string
    {
        return base64_decode(parent::read($id));
    }
    public function write($id, $data): bool
    {
        return parent::write($id, base64_encode($data));
    }
}
$session = new AppSessionHandler();
$session->start();
$_SESSION['user'] = 'admin';
$_SESSION['password'] = '12334555';
$_SESSION['email'] = 'xx@xx.zz';
$_SESSION['logged'] = true;
echo time() - $_SESSION['sessionStartTime'];    <pre lang="PHP">


What I have tried:

So at the last line, it always gives me 0, How to make session start time is a fixed value?
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900