4

ログイン セクションのすべてのページのヘッダーに、セッションを維持するために次のコードを追加しました。

session_set_cookie_params(1200, '/mysystem');
session_start();

私の意図は、/mysystem関数session_set_cookie_params()を介してパスを使用して、セッションの有効期間を 1200 秒に設定することです。この関数を使用する理由は、セッション Cookie を同じドメイン内の他の PHP スクリプトと分離するためです (例: http://www.example.com/another_system/ )。

問題は、1200 秒に達すると、アクティビティ ( の下/mysystemに別のページをロードしたり、ページを更新したりするなど) があったとしても、セッションが期限切れになることです。

予想される動作: アクティブなセッションが有効なときにページ アクティビティが行われると、セッションの「カウントダウン」がリセットされます。

私は何を取りこぼしたか ?

4

2 に答える 2

5

これが仕組みです。Cookie は一度設定された後、カウントダウンを開始します。これを解決するには、ユーザーがバックエンドと対話するたびに、新しい有効期限で Cookie をリセットする必要があります。

于 2013-03-22T10:21:05.380 に答える
2

time() 関数を試して、Cookie の有効期限を更新できます。

すべてのページに time() 関数を追加し、現在のページの読み込み時間を取得して期限切れにするようにしてください

$expireTime = time()+1200;

      <?php

          session_set_cookie_params($expireTime, '/mysystem');
          session_start()
       ?>
于 2013-03-22T10:29:35.603 に答える