Php session_decode()不';t从CodeIgniter 3检索正确的$\会话信息

Php session_decode()不';t从CodeIgniter 3检索正确的$\会话信息,php,codeigniter,session,Php,Codeigniter,Session,我有一个用CodeIgniter 3构建的电子商务和一个用php构建的仪表板站点。 我希望用户登录到电子商务,也已经登录到个人仪表板。 在电子商务中,有一个按钮可以传递到仪表板。此按钮调用名为/APS/index.php的仪表板(APS)文件。 在这个文件中,我提出: <?php session_start(); require_once("config.php"); if(!isset($_SESSION['client']) || empty($_SESSION['client'])

我有一个用CodeIgniter 3构建的电子商务和一个用php构建的仪表板站点。 我希望用户登录到电子商务,也已经登录到个人仪表板。 在电子商务中,有一个按钮可以传递到仪表板。此按钮调用名为/APS/index.php的仪表板(APS)文件。 在这个文件中,我提出:

<?php session_start();
require_once("config.php");

if(!isset($_SESSION['client']) || empty($_SESSION['client'])) {

    if (isset($_COOKIE['ci_session']) && !empty($_COOKIE['ci_session'])) {

// Check connection

        $sql = "SELECT `data` FROM `ci_sessions` WHERE id=" . "'" . $_COOKIE['ci_session'] . "'";

        $result = $conn->query($sql);

        $first_arr = '';

        if ($result->num_rows > 0) {

            // output data of each row

            while ($row = $result->fetch_assoc()) {

                $first_arr = explode(';', $row['data']);

            }

            $res = '';

            foreach ($first_arr as $v) {

                if (strpos($v, 'customer_id') !== false) {

                    $res = explode('|', $v);

                }

            }

            $conn->close();

            $_SESSION['client'] = unserialize($res[1]);

        } else {

            $_SESSION['client'] = '';

        }

    }

}

if(isset($_SESSION['client']) && !empty($_SESSION['client'])){  header('location:account.php'); $x=$client->get($_SESSION['client']);  $_SESSION['client']=$x[0]; exit; }

尝试将基于Codeigniter(CI)的网站与使用过程化PHP编写的网站集成可能不是一个好主意,您的问题在于CI处理会话的方式。关联的会话cookie将使用CI中的配置设置。此外,CI使用自定义实现(驱动程序)处理PHP会话。因此,我找不到解决方案(它们从同一个数据库读取。因此,我认为如果我能够检索会话cookie,我也能够以正确的方式检索相关用户。我在查询响应中看到客户id。cookie是加密的。因此,您必须使用CI会话函数解密并移到普通cookie。如何切实做到这一点?