无法显示codeigniter会话数据

时间:2017-11-27 21:15:23

标签: php codeigniter

我试图在我的php应用程序中实现AD身份验证,但是我在从会话用户数据中提取信息时遇到了麻烦,而且我不确定原因。

验证工作正常,因为我能够使用AD凭据登录并显示WIN,但我无法显示会话数据。

我试图使用这个轻量级库: Auth_AD Codeigniter Library

验证控制器:

public function login()
{


    // read the form fields, lowercase the username for neatness
    $username = strtolower($this->input->post('username'));
    $password = $this->input->post('password');

    // check the login
    if($this->auth_ad->login($username, $password))
    {           

        $data['udcn'] = $this->session->userdata('cn');

        $this->load->view('user/win', '$data');
    }
    else
    {

        $this->load->view('user/lose');
        // user could not be authenticated, whoops.
    }
}

查看:

  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
   <title>WIN</title>
   </head>
    <body>
         <?php echo $udcn['cn']; ?>
    </body>
   </html>

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

在视图

<?php echo $udcn; ?>

删除['cn']

确保您已在config.php

中设置会话配置设置

实施例

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/session/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;

答案 1 :(得分:0)

感谢ourmandave!

  

从$ data中取出单引号。应该是$ this-&gt; load-&gt; view(&#39; user / win&#39;,$ data);