2015-06-20 109 views
1

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

我有一个登录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": "[email protected]", 
"uniqueID": "1q2w3e4r5t6y", 
"userid": "97", 
"session_id": "1bbfdj07as68bvp3ctrboj8gs7" 
} 
} 

的问题是,如何我赶上会话ID是店的客户端应用程序?

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

我认为会话ID具有阵列数据,就像他们尝试登录时一样。 所以也许我会得到数组,数组值将是获得新闻或个人资料的条件。

CMIIW

+0

你为什么不使用cookies? – Blip

+0

@blip如何做到这一点?在PHP –

回答

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

使用它来获取所有的会话数据,并可以通过遍历数组获取特定数据

这样$session_data['session_id']

+0

中进行了新操作hi @ vicky,因此登录后的响应将如下所示:{“success”:“1q2w33r3r3r3r3r3r3r”}'。所以客户端会保存会话。如何迭代数组?我仍然困惑。 : - 当客户想要一些新的,它需要一个电子邮件也用户名。 –

0

试试这个

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