2015-04-07 47 views
-5

说明codeigniter会话的特点。 我不明白,帮帮我。Codeigniter会话概念简要说明

<?php 

    $session_id = $this->session->userdata('session_id'); 
    echo $this->session->set_userdata($array); 

    ?> 
+0

我想[此](https://ellislab.com/codeigniter/user-guide/libraries/sessions .html)指南告诉您绰绰有余 –

+0

您是否阅读过官方文档? [https://ellislab.com/codeigniter/user-guide/libraries/sessions.html](https://ellislab.com/codeigniter/user-guide/libraries/sessions.html) – jmgross

+0

@huggilou http:// www .codeigniter.com/docs现在新的位置。 – user4419336

回答

1

当你与一个应用程序时,您打开它,做一些更改,然后关闭它。这很像一个会议。电脑知道你是谁。它知道你何时启动应用程序以及何时结束。但在互联网上有一个问题:Web服务器不知道你是谁或你做了什么,因为HTTP地址不保持状态。

会话变量通过存储要跨多个页面使用的用户信息(例如用户名,最喜欢的颜色等)来解决此问题。默认情况下,会话变量持续到用户关闭浏览器。

所以;会话变量包含有关单个用户的信息,并且可用于一个应用程序中的所有页面。

设置会话数据,

$patientRegId = $this->uri->segment(3); 

    $this->session->set_userdata("SESSION_REG_ID",$patientRegId); 

援用会话数据,

$patientRegId = $this->session->userdata("SESSION_REG_ID"); 
+0

嗨Madhu,我得到了一个问题:我将一个数组保存到一个会话中,然后我做了一些Paypal付款以及它何时返回并获取会话userdata,但没有保存这些信息。很奇怪,云会发生什么?如果你想知道的话,数据少于4kb –

0

$ _SESSION in core php相当于$ this-> session-> all_userdata()。 在codeigniter默认情况下,一些数据如 [session_id] => 4a5a5dca22728fb0a84364eeb405b601 [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; [last_activity] => 1303142623

被添加到会话中。

对于会话添加项目,你需要use$this->session->set_userdata('id' , '3');

在PHP核心,$_SESSION['id'] = 3;

如果你想存储会话多个项目,您可以直接存储包含需要键和值的数组在会话中存储。 ex:`$ array = array( 'username'=>'johndoe', 'email'=>'[email protected]', 'logged_in'=> TRUE );

$这个 - >会话级> set_userdata($阵列);`

我希望你理解会议的代码点火器的概念。

感谢,

莱金