[英]Unable to access all session data
我無法在視圖中訪問 session 數據,在下面的代碼中我設置了session userdata
用戶數據我可以訪問First name
和last name
,但無法顯示nationality
和salutation
請檢查此代碼
控制器:
public function login_candidate()
{
$data['error'] ="Invalid Username or Password";
if($this->input->post())
{
$loginArray = array('candidate_email'=>$this->input->post('candidate_email'), 'candidate_password'=>md5($this->input->post('candidate_password')));
$result = $this->Candidate_model->login_candidate($loginArray);
if(count($result) > 0 AND is_object($result)){
$session_data =array(
'id' ->$where['candidate_id'],
'salutation' ->$result->salutation,
'candidate_first_name' ->$result->candidate_first_name,
'candidate_last_name' ->$result->candidate_last_name,
'nationaity' ->$result->nationaity,
);
$this->session->set_userdata($session_data);
redirect('Home');
}else{
$this->load->view('frontend/header');
$this->load->view('candidate/candidate_login',$data);
$this->load->view('frontend/footer');
}
}
else{
$this->load->view('frontend/header');
$this->load->view('candidate/candidate_login');
$this->load->view('frontend/footer');
}
}
看法:
<div class="col-md-8">
<div class="d-flex align-items-center">
<h2 class="font-weight-bold m-0">
<?php echo $this->session->userdata('salutation') ?>
<?php echo $this->session->userdata('candidate_first_name') ?>
<?php echo $this->session->userdata('candidate_last_name') ?>
</h2>
<address class="m-0 pt-2 pl-0 pl-md-4 font-weight-light text-secondary">
<i class="fa fa-map-marker"></i>
<?php echo $this->session->userdata('nationality') ?>
</address>
</div>
<p class="h5 text-primary mt-2 d-block font-weight-light">
Full-Stack Programmer
</p>
<p class="lead mt-4">All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet.</p>
<section class="d-flex mt-5">
<button class="btn btn-light bg-transparent mr-3 mb-3">
<i class="fa fa-comments"></i>
Private Message
</button>
<button class="btn btn-light bg-transparent mr-3 mb-3">
<i class="fa fa-warning"></i>
Report User
</button>
<button class="btn btn-primary mb-3">
<i class="fa fa-check"></i>
Hire Me
</button>
</section>
</div>
在這里它不顯示任何稱呼和國籍,但同時顯示名字和姓氏
如何定義array
。 按照文檔https://www.php.net/manual/en/language.types.array.php 。 您正在使用->
而不是=>
此外,您沒有按名稱$where
定義 object 。 而不是 $where 使用$result->candidate_id
代替:
$session_data = array(
'id'->$where['candidate_id'],
'salutation'->$result->salutation,
'candidate_first_name'->$result->candidate_first_name,
'candidate_last_name'->$result->candidate_last_name,
'nationaity'->$result->nationaity,
);
和:
$session_data =array(
'id'=>$result->candidate_id,
'salutation'=>$result->salutation,
'candidate_first_name'=>$result->candidate_first_name,
'candidate_last_name'=>$result->candidate_last_name,
'nationaity'=>$result->nationaity,
);
我已經更新代碼如下控制器
if(count($result) > 0){
$this->session->set_userdata('salutation', $result[0]->salutation);
$this->session->set_userdata('candidate_first_name', $result[0]->candidate_first_name);
$this->session->set_userdata('candidate_last_name', $result[0]->candidate_last_name);
$this->session->set_userdata('nationaity', $result[0]->nationaity);
$this->session->set_userdata('candidate_email', $result[0]->candidate_email);
$this->session->set_userdata('candidate_phone', $result[0]->candidate_phone);
$this->session->set_userdata('candidate_job_title', $result[0]->candidate_job_title);
$session_data = $this->session->all_userdata();
redirect('Home');
}
並在視圖中顯示數據
<?php echo $_SESSION['candidate_first_name'];?>
通過更改變量名稱對所有人都一樣
您將獲得使用 userdata 設置的所有 session 密鑰
$allSession = $this->session->userdata();
print_r($allSession);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.