- CodeIgniter 教程
- CodeIgniter - 首頁
- CodeIgniter - 概述
- CodeIgniter - 安裝 CodeIgniter
- CodeIgniter - 應用架構
- CodeIgniter - MVC 框架
- CodeIgniter - 基本概念
- CodeIgniter - 配置
- CodeIgniter - 資料庫操作
- CodeIgniter - 庫
- CodeIgniter - 錯誤處理
- CodeIgniter - 檔案上傳
- CodeIgniter - 傳送郵件
- CodeIgniter - 表單驗證
- CodeIgniter - 會話管理
- CodeIgniter - 快閃記憶體資料
- CodeIgniter - 臨時資料
- CodeIgniter - Cookie 管理
- CodeIgniter - 常用函式
- CodeIgniter - 頁面快取
- CodeIgniter - 頁面重定向
- CodeIgniter - 應用效能分析
- CodeIgniter - 基準測試
- CodeIgniter - 新增 JS 和 CSS
- CodeIgniter - 國際化
- CodeIgniter - 安全性
- CodeIgniter 有用資源
- CodeIgniter - 快速指南
- CodeIgniter - 有用資源
- CodeIgniter - 討論
CodeIgniter - 快閃記憶體資料
在構建web應用程式時,我們需要儲存一些僅使用一次的資料,之後需要刪除這些資料。例如,顯示一些錯誤訊息或資訊訊息。在PHP中,我們必須手動執行此操作,但CodeIgniter使這項工作變得簡單。在CodeIgniter中,快閃記憶體資料只在下一個請求之前可用,之後會自動刪除。
新增快閃記憶體資料
我們可以簡單地如下所示儲存快閃記憶體資料。
$this->session->mark_as_flash('item');
mark_as_flash() 函式用於此目的,它只接受一個要儲存的值作為引數。我們也可以傳遞一個數組來儲存多個值。
set_flashdata() 函式也可以使用,它接受兩個引數,名稱和值,如下所示。我們也可以傳遞一個數組。
$this->session->set_flashdata('item','value');
檢索快閃記憶體資料
快閃記憶體資料可以使用 flashdata() 函式檢索,該函式接受一個要獲取的專案作為引數,如下所示。flashdata() 函式確保您只獲取快閃記憶體資料,而不是任何其他資料。
$this->session->flashdata('item');
如果您不傳遞任何引數,則可以使用相同的函式獲取一個數組。
示例
建立一個名為FlashData_Controller.php的類,並將其儲存在application/controller/FlashData_Controller.php目錄下。
<?php
class FlashData_Controller extends CI_Controller {
public function index() {
//Load session library
$this->load->library('session');
//redirect to home page
$this->load->view('flashdata_home');
}
public function add() {
//Load session library
$this->load->library('session');
$this->load->helper('url');
//add flash data
$this->session->set_flashdata('item','item-value');
//redirect to home page
redirect('flashdata');
}
}
?>
建立一個名為flashdata_home.php的檢視檔案,並將其儲存在application/views/flashdata_home.php目錄下。
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter Flashdata Example</title>
</head>
<body>
Flash Data Example
<h2><?php echo $this->session->flashdata('item'); ?></h2>
<a href = 'flashdata/add'>Click Here</a> to add flash data.
</body>
</html>
修改application/config/routes.php目錄下的routes.php檔案,並在檔案末尾新增以下行。
$route['flashdata'] = 'FlashData_Controller'; $route['flashdata/add'] = 'FlashData_Controller/add';
訪問以下連結執行上述示例。將yoursite.com替換為您的網站URL。
http://yoursite.com/index.php/flashdata
訪問上述URL後,您將看到如下所示的螢幕。
點選“點選此處”連結,您將看到如下所示的螢幕。在此螢幕上,您將看到快閃記憶體資料變數的值。再次重新整理頁面,您將看到上面的螢幕,快閃記憶體資料變數將自動刪除。