[英]How i can Send Session Data and Access it on view or Model in Codeigniter
我是Codeigniter的新手,我创建了一个登录表单,现在我想将一些会话变量传递给我的视图和我的模型,但我失败了
这是我的控制器代码,我开始会话
function validate_credentials(){
$this->load->model('users_model');
$query = $this->users_model->validate();
if($query){
$data = array(
'username'=> $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('site/dashboard');
}
else{
//echo "Wrong";
$this->index();
}
}
这是我的模型代码
<?php
class Site extends CI_Controller{
function _construct(){
parrent::Controller();
$this->is_logged_in();
}
function dashboard(){
$this->load->view('dashboard');
}
function is_logged_in(){
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in !== true){
echo 'You don\'t have permission to access this page. <a href="../login>Login</a>"';
die();
}
}
}
?>
这是我的视图代码实际上我想要会话变量
<body>
<?php $session_id = $this->session->userdata('username');
echo $session_id;
?>
Members Area Olny...!!
</body>
</html>
您的准则是正确的。 确保已在配置文件夹中的autoload.php文件中加载了会话库。
打开autoload.php文件并添加会话库
要么
复制并粘贴此代码$ this-> load-> library('session'); 在构造函数中。
我没有正确地回答你的问题,但我认为你想在模型中使用会话数据。 好的,你可以使用这个代码。
// To Set a Data in Session
$session_data = array(
'username' => $this->input->post('username'),
'is_logged_in' => TRUE
);
$this->session->set_userdata('user_data', $session_data);
// To get the session data
$session_data = $this->session->userdata('user_data');
$user_name = $session_data['username'];
$login_status = $session_data['is_logged_in'];
//Now you can use this data in the model.
我希望我能为你说清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.