CodeIgniter 的 session 有一個叫做 flashdata 的種類,主要就是在設定後只能取用一次,也就是在一個 request 後下次就拿不到了。
設定的方式如下,在建立 session 後,透過 mark 成 flashdata 後就可以把 session 的內容設定成是 flashdata:
$session = session(); $_SESSION['item'] = 'value'; $session->markAsFlashdata('item');
CodeIgniter 也提供了直接設定的方法:
$session->setFlashdata('item', 'value');
要取得 flashdata 的話要透過 getFlashData(key),像是:
$session->getFlashdata('item');
可以測試只要使用過一次,下次就不會有值了,所以可以透過 isset 去檢查是否存在,並做對應的內容:
$item=$session->getFlashdata('item'); if(isset($item)){ //do something }
flashdata 用來處理只要顯示一次的資訊很方便,有需要的可以使用看看。