• ベストアンサー

セッションについて

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

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-set-cookie-params.php
is_may
質問者

補足

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

その他の回答 (1)

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.2

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)があるので、それを別な場所へ移すとかでしょうか。

is_may
質問者

お礼

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

関連するQ&A