在codeigniter中捕获会话ID

时间:2015-06-20 09:13:12

标签: php arrays codeigniter session

我想知道如何从设备/客户端捕获会话ID。

我有一个Login API,逻辑是这样的。当客户端登录到应用程序时,他们也会获得会话ID。代码如下:

public function user_post()
{
  $data = array (
    'username' => $this->input->get_post('username'),
    'password' => sha1($this->input->get_post('password'))
  );

  $result = $this->login_m->user_check($data);
  if ($result ) {
     foreach ($result as $row ) {

      $sess_array = array(
                  'username' => $row->username,
                  'email'    => $row->email,
                  'uniqueID' => $row->uniqueID,
                  'userid'   => $row->userid,
                  'session_id' => session_id()

                  );

      $this->session->set_userdata('logged', $sess_array);
      $this->response(array('success' => $this->session->userdata('logged') ));
    }
  } else {
    $this->response(array(404 => 'missing parameter'));
  }
}

它还有一个数组init。并且json的回复如下:

{
"success": {
"username": "johndoe123",
"email": "myemail@gmail.com",
"uniqueID": "1q2w3e4r5t6y",
"userid": "97",
"session_id": "1bbfdj07as68bvp3ctrboj8gs7"
}
}

问题是,我如何捕获客户端应用程序中存储的会话ID?

所以,当他们试图获取新闻或他们的个人资料等信息时。客户端应用程序会将会话ID发回给我。

我假设会话ID具有与尝试登录时一样的数组数据。 所以也许我会得到数组,数组值将是获取新闻或个人资料的条件。

CMIIW

2 个答案:

答案 0 :(得分:0)

$session_data=$this->session->userdata('logged');

使用它来获取所有会话数据,您可以通过迭代该数组来获取特定数据

喜欢这个$session_data['session_id']

答案 1 :(得分:0)

试试这个

$this->session->userdata('session_id');