CodeIgniter会话管理 CodeIgniter表单验证 CodeIgniter Flashdata 在构建网站时,我们经常需要跟踪用户的活动和状态,为此,我们必须使用 会话 。CodeIgniter具有用于此目的的会话类。 初始化会话 会话数据可通过网站在全球范围内使用,但使用我们首先需要初始化会话的数据。我们可以通过在构造函数中执行以下行来完成该操作。 $this->load->library('session'); 加载会话库后,您可以简单地使用会话对象,如下所示。 $this->session 添加会话数据 在PHP中,我们只需使用 $ _SESSION 数组来设置会话中的任何数据,如下所示。 $_SESSION[‘key’] = value; 其中' key '是数组的关键字,并且 值 等于sign的右侧。 CodeIgniter中可以做同样的事情,如下所示。 $this->session->set_userdata('some_name', 'some_value'); set_userdata() 函数有两个参数。第一个参数 some_name 是会话变量的名称,在该变量下将存储 some_value 。 set_userdata() 函数还支持另一种可以传递数组来存储值的语法,如下所示。 $newdata = array( 'username' => 'johndoe', 'email' => 'johndoe@some-site.com', 'logged_in' => TRUE ); $this->session->set_userdata($newdata); 删除会话数据 在PHP中,我们可以使用 unset() 函数删除会话中存储的数据,如下所示。 unset($_SESSION[‘some_name’]); 在CodeIgniter中删除会话数据非常简单,如下所示。以下版本的 unset_userdata() 函数将从会话中仅删除一个变量。 $this->session->unset_userdata('some_name'); 如果要从会话中删除更多值或删除整个数组,可以使用 unset_userdata() 函数的以下版本。 $this->session->unset_userdata($array_items); 获取会话数据 在会话中设置数据后,我们也可以如下所示检索数据。 用户数据() 函数将用于此目的。如果您尝试访问的数据不可用,则此函数将返回 NULL 。 $name = $this->session->userdata('name'); 例 创建一个名为 Session_controller.php 的控制器类,并将其保存在 application / controller / Session_controller.php中 。 <?php class Session_controller extends CI_Controller { public function index() { //loading session library $this->load->library('session'); //adding data to session $this->session->set_userdata('name','virat'); $this->load->view('session_view'); } public function unset_session_data() { //loading session library $this->load->library('session'); //removing session data $this->session->unset_userdata('name'); $this->load->view('session_view'); } } ?> 创建一个名为 session_view.php 的视图文件并将其保存在 application / views / session_view.php中 <!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>CodeIgniter Session Example</title> </head> <body> Welcome <?php echo $this->session->userdata('name'); ?> <br> <a href = 'http://localhost:85/CodeIgniter-3.0.1/CodeIgniter3.0.1/index.php/sessionex/unset'> Click Here</a> to unset session data. </body> </html> 在 application / config / routes.php 中的 routes.php 文件中进行更改,并在文件末尾添加以下行。 $route['sessionex'] = 'Session_Controller'; 使用以下地址执行上述示例。将 yoursite.com 替换为您网站的网址。 http://yoursite.com/index.php/sessionex CodeIgniter表单验证 CodeIgniter Flashdata