CodeIgniter Flashdata
codeigniter flashdata
在構建 web 應用程序時,我們只需要存儲一些數據,然后我們想刪除這些數據。例如,顯示一些錯誤消息或信息消息。在 php 中,我們必須手動完成,但 codeigniter 為我們簡化了這項工作。在 codeigniter 中,flashdata 只會在下一個請求之前可用,并且會自動刪除。
添加閃存數據
我們可以簡單地存儲 flashdata,如下所示。
$this->session->mark_as_flash('item');
- mark_as_flash() 函數用于此目的,它只需要存儲值的一個參數。我們還可以傳遞一個數組來存儲多個值。
- 也可以使用set_flashdata() 函數,它接受兩個參數,名稱和值,如下所示。我們也可以傳遞一個數組。
$this->session->set_flashdata('item','value');
檢索閃存數據
可以使用 flashdata() 函數檢索 flashdata,該函數采用要獲取的項目的一個參數,如下所示。 flashdata() 函數確保您只獲取閃存數據而不是任何其他數據。
$this->session->flashdata('item');
如果你不傳遞任何參數,那么你可以得到一個具有相同功能的數組。
示例
創建一個名為 flashdata_controller.php 的類并將其保存在 application/controller/flashdata_controller.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
codeigniter flashdata example flash data exampleecho $this--->session->flashdata('item'); ?>
click here to add flash data.
在 application/config/routes.php 中的 routes.php 文件中進行更改,并在文件末尾添加以下行。
$route['flashdata'] = 'flashdata_controller'; $route['flashdata/add'] = 'flashdata_controller/add';
通過訪問以下鏈接執行上述示例。將 yoursite.com 替換為您網站的網址。
http://yoursite.com/index.php/flashdata
訪問上述 url 后,您將看到如下所示的屏幕。
點擊" 點擊這里"鏈接,您將看到如下所示的屏幕。在這里,您將在此屏幕中看到閃存數據變量的值。再次刷新頁面,您將看到像上面這樣的屏幕和閃存數據變量將被自動刪除。