1

ユーザー セッションが期限切れになったとき、またはユーザーがブラウザを閉じたときに、次の表からすべてのレコードを削除する方法を教えてください。

テーブル名: テスト

id  sessions_id     value
1    admin_1         12 
2    admin_1         12 

一時テーブルについては知っていますが、使用したくありません...テーブルを作成した後、データを取得できないためです。

ありがとう :)

私が試したこと:

 function logout(){

   //My query to delete the table
    $this->session->sess_destroy();
   redirect('login');

  }

上記のソリューションは正常に機能しますが、ユーザーがログアウトしなかった場合にどうなるか疑問に思っていました..単にウィンドウを閉じただけです.

4

3 に答える 3

4

これを試して:

  • timestampテーブルに列を追加します
  • すべてのページでUPDATE、現在のユーザーに関連するすべての行の現在のタイムスタンプを含むこの列
  • タイムスタンプが古すぎる行cronを1時間ごとに呼び出すPHPスクリプトの呼び出しを使用します。DELETE
于 2012-05-24T12:40:23.363 に答える
1

http://www.tonymarston.net/php-mysql/session-handler.htmlをざっと読んでください。セッションをデータベースに保存する方法を説明し、完全なソリューションを提供します。

于 2012-05-24T12:44:08.633 に答える
0
   <?php 

  // $sessions_id is your session id

      if(empty($sessions_id) == true ){

    //execute query 

      // for ex   delete from test where sessions_id = '$sessions_id';     



     }



     ?>
于 2012-05-24T13:24:24.707 に答える