这是我的控制器,其中用户名检查电子邮件ID,我有此登录的注册区域。我需要从这段代码中获取会话数据,包括会话ID,任何人都可以帮忙解决这个问题吗?
控制器
public function login(){
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[5]');
if($this->form_validation->run() == TRUE){
$username = $_POST['username'];
$password = md5($_POST['password']);
//check user in db
//session details for email and phone
$this->db->select('*');
$this->db->from('users');
$query1 = $this->db->get();
$sess = $query1->row();
$this->db->select('*');
$this->db->from('users');
$this->db->where(array('email'=>$username, 'password'=>$password));
$query = $this->db->get();
$user = $query->row();
//if user exists
if($user->email){
//temp messAGE
$this->session->set_flashdata("success",'you are logged in');
//SET session variables
$_SESSION['user_logged']= TRUE;
$_SESSION['username']= $user->username;
//redirection to profile page
redirect("user/profile", "refresh");
}
else{
$this->session->set_flashdata("error",'No Such Accounts found or please check username and password');
redirect("home/index", "refresh");
}
}
$this->load->view('login');
}
答案 0 :(得分:1)
首先,您需要在用户登录时将用户ID放入会话数据数组。
假设您的会话数据数组为user_data()
。
$userid = $this->session->user_data('user_id');
答案 1 :(得分:0)
答案 2 :(得分:0)
几年后我得到答案,因为那时我在Codeignitor的经验还很少,我很困惑,我知道这是一个非常简单的问题,但是那是我开始在Codeignitor中的一天,所以我自己编写答案
$session_id = $this->session->userdata('id');
答案 3 :(得分:0)
如果您想要会话ID,则可以使用 session_id 。请使用另一件事在 application / config / autoload.php
中加载会话$autoload['libraries'] = array('session');
比您可以在控制器,模型或视图中使用它。
$this->load->library('session');
echo $this->session->session_id;
或者如果您需要一些用户信息,例如电子邮件,id等,则可以使用。
echo $this->session->userdata("email");