0

私はcodeigniterを使用しており、ライブラリファイルにブラウザを開いたときに正常に機能するCookieを保存していますが、ブラウザを閉じると期限切れになります。コードに問題がありますか?

        $this->CI =& get_instance();
        $this->CI->load->helper('cookie');
        $expire = time()+(60*60*24*30);
        $cookie = array(
                       'name'   => 'username',
                       'value'  => $users['username'],
                       'expire' => $expire
                   );
        $this->CI->input->set_cookie($cookie);
        $cookie = array(
                       'name'   => 'password',
                       'value'  => $users['password'],
                       'expire' => $expire
                   );
        $this->CI->input->set_cookie($cookie);
4

1 に答える 1

4

問題はあなたが送っている有効期限です...これはここのヘルプページからです

有効期限は秒単位で設定され、現在の時刻に追加されます。時間は含めず、Cookieを有効にするための今からの秒数だけを含めてください。有効期限がゼロに設定されている場合、Cookieはブラウザが開いている間だけ存続します。

したがって、コードを次のように変更します。

$expire = (60*60*24*30);

今から30日後に有効期限が切れるようにCookieを設定するには

(あなたがしたように設定することはおそらくうまくいくはずですが-しかし、有効期限は何年も前になります...ヘルプドキュメントは文字列として与えられた有効期限も示しています-おそらくそれが問題です)

于 2012-05-17T12:00:09.010 に答える