首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在我的网站php中得到一些错误,比如“警告:未定义的数组键”

在我的网站php中得到一些错误,比如“警告:未定义的数组键”
EN

Stack Overflow用户
提问于 2022-03-07 04:12:19
回答 2查看 1.8K关注 0票数 0

我正在进行验证会话,我得到的字段是“警告:未定义的数组键”,这个问题现在发生了,警告错误--我的php代码已经失败了--请看我正在做什么wrong...thanks.

这些字段是我得到的错误:

代码语言:javascript
运行
复制
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代码:

代码语言:javascript
运行
复制
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();
} 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-07 06:49:44

代码语言:javascript
运行
复制
 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();
           }
票数 0
EN

Stack Overflow用户

发布于 2022-03-07 06:42:23

$_SESSIONsession_start()之后创建(或者如果在php.ini中启用了session.auto_start ),您可以在begin中添加类似于isset($_SESSION) || session_start();的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71376332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档