質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1779閲覧

PHPでフォーム以外のキャッシュを無効にしたい

poooooo

総合スコア125

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2016/09/27 14:16

編集2016/09/27 14:17

PHPでフォームを作成し、MySQLのデータを更新させるプログラムを作成しましたが、
ところどころキャッシュデータが残り、F5を押さないと正しい情報が反映されないときがあります。

header情報などを追記してページキャッシュを無効にする方法も試しましたが、
フォームに情報を入力し画面遷移した先でブラウザの戻るボタンを押すと、当然ですが入力データが保持されず、意図した動きになりませんでした。

参考にしたサイト

フォームのキャッシュデータは残しつつ、
その他のページキャッシュを無効化する方法はないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

フォームデータはページキャッシュ云々よりセッションデータとして扱うほうが良いですよ。
たとえば画面遷移後、戻った時に入力した値を再現したいなら、一度セッションに格納したものから展開するコードを自分で書くのが基本です(フレームワークの使用などがなければ)。
ブラウザの戻るボタンでの遷移はむしろエラーになるくらいで構わないと思います。
phpであれば$_SESSIONが使えます。

投稿2016/09/27 18:50

fromageblanc

総合スコア2724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poooooo

2016/09/28 03:56

>ブラウザの戻るボタンでの遷移はむしろエラーになるくらいで構わないと思います。 いえ... それはユーザービリティ面で相応しくないかと思います。 多くの人がブラウザの戻るボタンを使用していますし、Androidスマホでは戻るボタンは標準ボタンとして備え付けてあります。
fromageblanc

2016/09/28 04:04

ブラウザ標準の戻るを使用する人はいるでしょうが、戻らせる必要があるなら、セッション管理の観点からも極力専用の「戻る」ボタンを用意すべきです。
poooooo

2016/09/28 04:08

戻るボタンを用意したとして、ユーザーが任意で標準の戻るを使用したらどうするのですか?fromageblancさんは未対応ということですよね。
fromageblanc

2016/09/28 04:27

うーん、、、セッション管理用のトークンを裏で発行して、標準の戻るで戻ってきたときはサーバのロジックを通って無いデータが展開されるということなのでセキュリティ的にトークンチェックでエラーにしちゃいますかね、私は。フォームの画面遷移に際しては極力サーバ側でサニタイズなりの処理を挟む機会をもつべきかと。 それと、標準ボタンでもどられると仕込んだjsのイベントが意図した通り発火しなかったりなどが起こりうるのでデフォルトの標準ボタンをメインで使わせるような設計はしませんね。自分は。
guest

0

ベストアンサー

「関連した質問」に、こんなスレッドがありました。
今回の質問にも有用な情報ではないでしょうか。

https://teratail.com/questions/5137

投稿2016/09/28 05:04

fromageblanc

総合スコア2724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poooooo

2016/10/07 00:26

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問