2012-02-22 7 views
0

セッションデータを破壊する前に保存することは可能ですか?破壊される前にセッションデータを保存しますか?

は例えば、私は

// start session 
session_start(); 

// init session var 
if (!isset($_SESSION['images'])) $_SESSION['images'] = array(); 

array 
    0 => 
    array 
     'image_id' => int 1 
     'image_title' => string 'test 1' (length=6) 
    1 => 
    array 
     'image_id' => int 2 
     'image_title' => string 'test 2' (length=6) 

、セッションから以下のデータを持っていると私は、セッションが破棄されたとき、またはブラウザを閉じたときに、それをデータベースに送りたいです。

if(unset($_SESSION['images'])) 
{ 
    // do something? 
} 

実現可能ですか?

答えて

0

で、カスタマーセッションハンドラを見てみましょうあなたの "セッション"がアクティブである間、あなたのブラウザからそのクッキーが捨てられ、最終的には(クーロンによって呼び出された)クリーンアップされたブラウザを閉じると、サーバは$ _SESSIONに任意のデータを置きますセッションファイルはサーバーから削除されます。

一定期間またはユーザーの永続データを保存する場合は、データベース、キャッシュファイル、memcacheなどに格納する必要があります。

0
if(unset($_SESSION['images'])) 
{ 
    // do something? 
} 

これは、あなたが意図したとおりに動作しません(変数が設定されていないときに実行されます)。代わりに、セッション変数を正常に設定解除し、// do something部分を実行します。

関連する問題