2011-07-18 3 views
0

私のプロジェクトの1つでは、sessionIdを使ってデータベースに一時的なデータを保存していますが、sessionIdが使用されていない場合は削除する必要があります。セッションIDが使用されているかどうかを確認する簡単な方法はありますか?PHP SessionIDが使用されているかどうかを確認しますか?

+1

セッションにデータを保存していないのはなぜですか(セッションが終了すると自動的に消去されます)。 – Quentin

+0

、または実際にデータベース使用の一時テーブルを使用したい場合は、 – k102

+0

[PHP session_idが使用されているかどうかを確認]の重複が可能です(http://stackoverflow.com/questions/6206929/check-if-php-session-id -is-in-use) – hakre

答えて

1

最後にアクセスしたタイムスタンプを格納し、現在時刻よりもX分前の時刻の行を削除します。

1

あなたは、セッション名([文字列$名])で

例セッションに名前を付けることができます、session_name('myname')

とのsession_id([文字列$とその名前のためのセッションIDがあるならば、ちょうどチェックID])、

例:

if(session_id('myname') != "") 
     echo session_id('myname'); 
     else 
     //your code here 
0

セッションID、私かどうかを確認する簡単な方法があります使用中ですか?

デフォルトのセッションハンドラを使用している場合、セッションファイルが存在し、time() - session_cache_expire()以降に変更されているかどうかを確認します。

ただし、データベースバインドされたセッションハンドラを使用する方がはるかに優れたソリューションです。これは、セッションの外部からセッションデータを見るときにはるかに柔軟性がありますが、単純に結合して一致するデータを見つけることができますが、問題を解決する正しい方法は、セッションハンドラ内にセッション管理コードを実装することですセッションが削除されたときにデータを削除する)

+0

回答ありがとう、私は良いアイデアを持って、ありがとうございます:) –