0

ログイン画面にチェックボックスを入れたいのですが、ユーザーがそのチェックボックスをオンにしてログインすると、常にログインしたままになります。しかし、php.ini の php には session.gc_lifetime ディレクティブがあり、session.save_path ディレクトリ全体を対象としているため、たとえば sessoion.gc_lifetime が 1440 秒に設定されている場合、ユーザーはそのチェックボックスをオンにしてログインし、コンピューターの電源を 2 時間オフにします。次に、コンピューターの電源を入れて私のサイトにアクセスすると、彼はログオフされます.phpガベージコレクターがそのセッションファイルの最終アクセス時間を知っているため、(最終アクセス時間 + session.gc_maxlifetime ) <時間、gcはそのセッションファイルを削除します. 私の下手な英語をおねがいします。

4

1 に答える 1

1

セッションは一時的に設計されていました...ブラウザが閉じられたとき、または短い時間が経過したとき。ユーザーが永久にログインしたままにしたい場合は、長い有効期限パラメーターを指定してsetcookieを使用する必要があります。

setcookie( "TestCookie", $value, time()+3600*24*365 ); //3600*24*365 = 1 year

この Cookie は 1 年間存在します

于 2012-06-25T23:24:35.290 に答える