家・車以外で、人生で一番奮発した買い物

PHP初心者です。
セッションはCookieと違って利用者がデータを削除できないというのがとても魅力的でしばらく喜んでたんですけど、ブラウザを閉じると値が消えてしまいました;;。
関数などを使って、できれば永久に値を保持することってできませんかね?
よろしくお願いします。

A 回答 (2件)

PHPのセッションは、クッキーと連動します。


session_start()の前に、session_set_cookie_params()という関数を使ってやると、いいんじゃないかな?と思います。

session_set_cookie_params(100);
session_start();

こんな風にすると、ブラウザを閉じてから100秒間は値を保持することが出来ます。

詳しくはPHPのマニュアルを見てみてください。

参考URL:http://jp2.php.net/manual/ja/function.session-se …

この回答への補足

回答ありがとうございます。
ブラウザを閉じたときに値が消えてしまう症状は直りましたが、やはりCookieを削除するとセッションデータが消えてしまいます。
Cookieを削除してもセッションデータを残すことはできないのでしょうか・?
よろしくお願いします。

補足日時:2007/10/25 17:16
    • good
    • 0

session_cache_limiter('private_no_expire');


session_cache_expire(60); ← 60分
session_start();

として、以前にセッションしてしてあった、$_SESSION['hoge'] を呼び出せませんか。

 セッションを残す時間が、php.iniとかでしていする、session.gc_maxlifetime = 1440
ですが(1440sec)、これを無限ってどうするのでしょうかねぇ?
 デフォルトですと、/tmp にセッションファイル(ses_セッションID)があるので、それを別な場所へ移すとかでしょうか。
    • good
    • 0
この回答へのお礼

いろいろ試してみましたが、ブラウザによって動きが違うようで、実装できそうにありませんでした。
ありがとうございました。

お礼日時:2007/10/25 20:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報