![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
PHPでsession_start();とした後のフォームで、その後にフォームで入力したデータをPOSTで送って確認画面を表示したとします。
ここで、最初のsession_start();がなければ、ブラウザの戻るボタンで前のフォーム入力画面へと戻っても、入力したデータは保存されたままですが、session_start();とした後では、入力したデータが全てクリアされてしまうようです。
ちょっと修正したい時に、すべてクリアされてしまうとかなり不便なのですが、何かよい方法はないものでしょうか?セッション変数にPOSTするデータを保存する以外で方法はないものでしょうか?
No.2ベストアンサー
- 回答日時:
session_startでフォームデータが消えるのは、PHPのセッションで
キャッシュ設定がno-cacheになっているせいだと思います。
php.ini, .htaccess, ini_set()で下記を設定するか、
session.cache_limiter
session.cache_expire
または、プログラム中でsession_start()より前に
session_cache_expire( 指定時間(分) ) ;
session_cache_limiter('private_no_expire') ;
関数を呼ぶことで、解決すると思います。
上記を設定するとhttpヘッダにキャッシュコントロールを追加して
クライアントに投げます。
よって、ブラウザの戻るボタンで戻った場合、
サーバにアクセスが発生しないので、
入力画面において入力フォーム以外の部分の情報も更新されませんので、
注意してください。
やっぱりセッションから引っ張る方がベストですが、
メールフォームやBBSなど重要なデータを扱わなかったり、
単純なものにはキャッシュコントロールの方が便利といえば、便利です。
もちろん、フォームにデータが残るので、
二重送信対策とかもしておいた方がいいですね。
参考URL:http://www.php.net/manual/ja/ref.session.php
ありがとうございました。
session_cache_limiter('private_no_expire');
の文の追加で解決しました。
また何かありましたら、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのエラーの解消法について教...
-
phpのheader("Location:#pos")...
-
PHPについて。
-
PHPからCSVをアップロード後、m...
-
【PHP/MySQL】コード上で生成...
-
phpでcookieがうまく保存されない
-
PHPのセッション有効期限について
-
PHPで画像の渡しが上手く行きま...
-
クラス
-
PHPでの時間の足し算、割り算
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
-
プログラミング言語で、使える...
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
PHPとHTML+Xamppの掲示板で画像...
-
phpでPEAR::DBを使っているので...
-
index.phpって何ですか? 具体...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
POSTで受け渡したものを保存し...
-
ログイン画面から入って、「戻...
-
ブラウザバックしてもチェック...
-
php 入力画面から確認表示画面...
-
HTMLフォームのデータ引き継ぎ...
-
VBAで重複チェックの仕方を教え...
-
php history.back()の戻るボタ...
-
セッション使用時のフォームの...
-
HTMLエスケープすべき場所につ...
-
PHPで返信メールにチェックボッ...
-
閉じるボタン「×」を制御したい
-
HTMLエスケープ処理とデーター...
-
携帯サイトにお気に入りに登録...
-
ウェブアプリの設計に問題がな...
-
セッションを使用したページ遷移
-
入力系のプログラミング手法に...
-
GETとPOST
-
asp.netでのセッションを使用し...
-
フォームを使わずにPOST送信す...
-
PHPでのログイン機能でのメール...
おすすめ情報