0

我正在从我的数据库中返回会话数据,但我无法显示我的表的 LastName 属性,而且我不知道为什么,因为 FirstName 成功返回。我的数据库中确实有 LastName 属性。我的观点给了我错误:消息:未定义索引:姓氏//文件名:控制器/home.php

这是我的模型

Class Membership_model extends CI_Model 
{

function __construct()
{
parent::__construct();
}



function validate_student($username,$password){
   $this -> db -> select('Student_ID, Firstname,Lastname, password');

   $this -> db -> from('Student');

   $this -> db -> where('Student_ID = ' . "'" . $username . "'");
   $this -> db -> where('password = ' . "'" . MD5($password) . "'");
   $this -> db -> limit(1);

    //If it is all correct

    $query = $this -> db -> get();

    if($query->num_rows() == 1){

         return $query->result();


    }else{
        return false;
    }
}

控制器:家庭

   class Home extends CI_Controller {

     function __construct()
     {
       parent::__construct();
     }

     function index()
     {
       if($this->session->userdata('logged_in'))
       {
         $session_data = $this->session->userdata('logged_in');
         $data['Firstname'] = $session_data['Firstname'];
         $data['Lastname'] = $session_data['Lastname'];
         $this->load->view('home_view', $data);
       }

主页视图:

<h2>Welcome <?php echo $Lastname; ?>
4

2 回答 2

1

打印会话数据,用它更新你的问题,$session_data错误是你没有索引姓氏$session_data['Lastname'];

设置会话数据的表单logged_in,请同时更新您的问题

于 2012-08-25T01:25:41.937 回答
0

这是一个简单的解决方案,肯定会解决问题

在控制器上添加此调试行并在内部数组说服后对其进行注释

$session = $this->session->userdata;

echo '<pre>';
   print_r($session);
echo '</pre>';

这是您查看会话变量的调试工具

并且请注意在条件上添加此行的条件会做

 function index()
         {
$session = $this->session->userdata;
           if(array_key_exists('logged_in',$session)) //Check if array key exists in session
           {
             $session_data = $this->session->userdata('logged_in');
             $data['Firstname'] = $session_data['Firstname'];
             $data['Lastname'] = $session_data['Lastname'];
             $this->load->view('home_view', $data);
           }
于 2012-08-25T09:28:21.320 回答