
お世話になります。
現在、入力フォームの携帯サイトをPHPで製作しているのですが、
入力ページで次へボタンが押された場合に入力内容を検証し、
入力エラーがあれば、エラー画面を表示し、
前の画面に戻らせるという処理を行おうとしています。
エラー画面から戻る際に、設置した戻るボタン(入力画面にsubmitする)で戻る場合は、
入力画面がリロードされ、入力内容をSessionから再表示することができたのですが、
携帯(docomo)の戻るボタン(左矢印)で戻ると、入力ページがリロードされない、かつ以前に入力した内容がクリアされてしまいます。
携帯の戻るボタンでもリロードされるよう、キャッシュをクリアする処理を入れて、以下のようなHTMLを出力するようにしてみたのですが、うまくいきませんでした。
a.php
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>入力フォーム</title>
</head>
<body>
<form action="b.php" method="post">
<input type="text" istyle="1" name="input1" size="20" value="<?php $_SESSION['input1']; ?>">
<p>
<input type="submit" value="次へ" name="submit">
</p>
</form>
</body>
</html>
原因・やり方をご存知の方がおりましたらご教示していただけないでしょうか。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
imodeシュミレータでの挙動もそうですし、携帯電話ごとの挙動も異なってくると思います。
PCのほうでも、IE6でキャッシュ関連は問題が起きたりだとか、キャッシュ以外の様々な挙動がブラウザ各種で違ってきてしまいます。
それでも一度、実機での確認はしたほうが良いと思います。
また、エラーの表示に関しては、エラーだった場合、エラー画面へ飛ばないで、入力画面に遷移させてはいかがでしょうか。
入力画面のトップに
「○○の項目は~~を入れてください」
などといったエラーだった箇所を指示する表示をすれば戻るボタンを押される可能性は若干減ると思います。
また、その後の画面で入力確認画面があるのであれば、そこに目立つ文言で、
「戻るボタンで戻らないでください」
といったような文言を入れた方がよいのかな、と思います。
No.1
- 回答日時:
キャッシュの件については、毎度困っていたので、少し調べてみました。
http://blog.bluetune.net/archives/000075.php
こちらのブログのエントリが参考になりそうです。
結果的に、header関数で
-------------------------------------------------------
header("Last-Modified: ". "Fri, 30 Oct 1998 14:19:41 GMT");
-------------------------------------------------------
としてやればキャッシュが残らなくなるのだそうです。
ご回答ありがとうございます。
header("Last-Modified: ". "Fri, 30 Oct 1998 14:19:41 GMT");
を追加してみたのですが、やはりリロードされませんでした。
iモードHTMLシミュレータで見るのと、実機で見るのは違ってくるものでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vb6で画面コピーで不具合対応方法
-
ビジネスメールの敬称
-
フォームを再送信しますか?
-
初歩的な事だと思います。 Sub...
-
テキストボックスの番号を使っ...
-
Googleフォームを回答したか確...
-
エクセルVBA テキストボックス...
-
教えて!全角文字「μ」の半角
-
お問い合わせフォームから送信...
-
excel vba でユーザーフォーム...
-
VBAでInputBoxの再入力をさせる...
-
DataGridView 列ごとの入力制限
-
sendmailでメール送信ができない
-
Excel-VBAでInputBox+Pulldown...
-
アルファベットGの小文字の入力
-
<input>のstep属性に違反する入...
-
HTMLでstyleを指定するフォーム...
-
webform.cgiによる複数メール送信
-
VBA メール一斉送信で添付ファ...
-
VB.NET(2005)の"SerialPort" ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヤフージャパンへの問合せ 「次...
-
値だけ送信してページは遷移さ...
-
非同期通信で掲示板を作る際の...
-
アイフォン使ってたらちょくち...
-
ページ移動した場合の、フォー...
-
ワードプレスプラグイン MW WP ...
-
ひとりひとり異なるURLを与える...
-
子画面から親画面に値を返す方法
-
htmlからbatファイルを起動する
-
メール送信フォームとhistory.b...
-
戻ると入力したフォームの内容...
-
WordPressで画面還移なしの掲示...
-
ブラウザの「戻る」ボタンを押...
-
階層式のプルダウンセレクトを...
-
フォーム内容を丸ごと置き換え...
-
VB2005 複数のフォームを同時...
-
楽天カード 入力確認画面にいき...
-
出勤時刻と退勤時刻のみを管理...
-
大学の出欠確認でQRコードを読...
-
「教えて!goo」に於ける特殊な...
おすすめ情報