我正在从我的数据库中恢复会话数据,但我无法显示我的表的LastName属性,我不知道为什么因为FirstName成功返回。我的数据库中有LastName属性。我的观点给了我错误:消息:未定义的索引:姓氏//文件名:controllers / 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; ?>
答案 0 :(得分:1)
打印会话数据$session_data
,用此更新您的问题,错误是$session_data['Lastname'];
中没有索引姓氏,
您设置会话数据logged_in
的表单,请同时更新您的问题
答案 1 :(得分: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);
}