I'm doing validate session I'm getting some field is "Warning: Undefined array key", This issue is happened now warning error my php code is blow i have given please what is i'm doing wrong...thanks...
These fields are I'm getting the error:
Warning: Undefined array key "lastActiveTime"
Warning: Undefined array key "USERNAME"
Warning: Undefined array key "SESSION_ID"
Warning: Undefined array key "HTTP_USER_AGENT"
Warning: Undefined array key "REMOTE_ADDR"
php code :
function validate_session()
{
//error_reporting(E_ERROR | E_PARSE);
$time_outvalue = 18000; // for session timeout
$now = time();
$diff = $now - $_SESSION['lastActiveTime'];
$username = $_SESSION['USERNAME'];
$session_id = $_SESSION['SESSION_ID'];
if(($diff >= $time_outvalue && isset($_SESSION['lastActiveTime'])) || (($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) && ($_SESSION['REMOTE_ADDR'] != $_SERVER['REMOTE_ADDR']))){ // Session timeout
setcookie("PHPSESSID", "", time()-3600);
unset($_SESSION['lastActiveTime']);
unset($_SESSION['username']);
session_destroy();
}
$_SESSION['lastActiveTime'] = time();
}
CodePudding user response:
try like this...
//php code
function validate_session()
{
//error_reporting(E_ERROR | E_PARSE);
$time_outvalue = 18000; // for session timeout
$lastActive = $_SESSION['lastActiveTime']??'0';
$userName = $_SESSION['USERNAME']??'';
$sessionId = $_SESSION['SESSION_ID']??'0';
$now = time();
$diff = $now - $lastActive;
$username = $userName;
$session_id = $sessionId;
if(($diff >= $time_outvalue && isset($lastActive)) || (($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) && ($_SESSION['REMOTE_ADDR'] != $_SERVER['REMOTE_ADDR']))){ // Session timeout
setcookie("PHPSESSID", "", time()-3600);
unset($lastActive);
unset($userName);
session_destroy();
}
$lastActive = time();
}
CodePudding user response:
$_SESSION
creates after session_start()
(or if session.auto_start
enabled in php.ini
), you can add something like this isset($_SESSION) || session_start();
at begin.