【问题标题】:Codeigniter & PHP check if session existCodeigniter & PHP 检查会话是否存在
【发布时间】:2012-10-03 01:07:28
【问题描述】:

如何在 PHP 中检查是否启用了 cookie 和用户会话?

我需要这个世界上真正更轻的代码来做到这一点,谁能给我一些东西?

我正在使用 Codeigniter,但我计划使用原生 PHP 进行此控件。

我的代码:

if(session_start()){ echo 'started'; }

据我所知 Codeigniter 不使用原生 PHP 会话,如何使用?

【问题讨论】:

  • if(session_start()){ echo 'started'; }

标签: php codeigniter session cookies controls


【解决方案1】:

检查有效的会话 ID:

$sid = session_id();

例如:

$sid = session_id();
if($sid) {
    echo "Session exists!";
} else {
    session_start();
}

【讨论】:

  • 不,如果不存在会话ID,则仅表示尚未启动会话。并不是说不能启动。
【解决方案2】:

当你的框架有一些功能而不是使用它时,第一点是“不要对抗框架”。通常在框架类中都有防止注入的函数。

这里有一个帖子告诉你如何检查 cookie:

Check if cookies are enabled

对于会话

How to tell if a session is active?

【讨论】:

    【解决方案3】:

    我认为您可以通过以下方式简单地检查:

    if(isset($_SESSION)){
      // tells php session is initiated
    }
    if(isset($_COOKIE)){
    
    }
    

    【讨论】:

    • codeigniter 我认为它没有使用本机 PHP 会话,我遇到了麻烦
    猜你喜欢
    • 2012-10-18
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 2018-04-04
    • 2013-02-26
    • 2013-05-22
    相关资源
    最近更新 更多