ホームページ >バックエンド開発 >PHPチュートリアル >PHPフォーム送信エラー後に戻りデータが欠落する問題の解決策、PHP form_PHPチュートリアル
この記事では、PHPフォーム送信エラー後に返されたデータが消える問題の解決策を紹介しますので、興味のあるプログラマーは参考にしてください。
フォーム送信エラー後に返されたデータが消えた場合はどうすればよいですか? 今日はこの問題を分析して解決します。
状態の概要:
フォーム情報を入力して送信するときに発生する問題は、ユーザーがフォームに入力して送信した後、プログラムが要件を満たしていないと判断し、戻った後に以前に入力したフォーム情報がクリアされてしまうことです。記入される情報量が少ない場合は問題ありませんが、記入される情報量が比較的多い場合は、記入する人の機嫌に直結します。そのため、フォーム送信エラーが返った後に入力内容が消えてしまう問題の解決は、ユーザーエクスペリエンスを向上させる上で喫緊の課題となっています。
この種の問題については、次の状況をまとめました。
(1) このページでは session_start 関数が使用されています。この関数の特徴の 1 つは、現在のページが更新されないようにすることです。この関数の後に次のコードを追加します。 リーリー
session_start の前にを追加すると、他にもいくつかの解決策があります リーリー
上記のセッション設定によりセッションがキャッシュされるため、セッションに適用した際にセッション情報が更新できなくなる問題が発生するため、この記事では以下の他の解決策をいくつか提案します。
(2) Header メソッドを使用してメッセージ ヘッダー Cache-control を設定し、次のコードをページに追加します。 リーリー
(3) session_cache_limiter メソッドを使用し、次のコードをページに追加します。 リーリー
以下は、Cache-Control メッセージ ヘッダー フィールドの補足説明です。
Cache-Control は、リクエストとレスポンスが続くキャッシュ メカニズムを指定します。要求メッセージまたは応答メッセージで Cache-Control を設定しても、別のメッセージの処理中のキャッシュ プロセスは変更されません。リクエスト中のキャッシュ命令には、no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached が含まれ、応答メッセージ内の命令には、public、private、no-cache、no が含まれます。 -store、no-transform、must-revalidate、proxy-revalidate、max-age。各メッセージの指示の意味は次のとおりです:
パブリック:
応答を任意のキャッシュにキャッシュできることを示します。プライベート:
単一ユーザーの応答メッセージのすべてまたは一部が共有キャッシュで処理できないことを示します。これにより、サーバーは、他のユーザーのリクエストには無効なユーザーからの部分的な応答のみを記述することができます。no-cache:
リクエストまたはレスポンスメッセージをキャッシュできないことを示しますストアなし:
重要な情報が意図せず公開されるのを防ぐために使用されます。リクエスト メッセージで送信すると、リクエスト メッセージと応答メッセージの両方でキャッシュが使用されます。max-age:
クライアントが、指定された時間 (秒) を超えない存続期間を持つ応答を受信できることを示します。min-fresh:
クライアントが、現在の時間に指定された時間を加えた時間よりも短い応答時間で応答を受信できることを示します。max-stale:
クライアントがタイムアウト期間を超えて応答メッセージを受信できることを示します。 max-stale メッセージの値を指定すると、クライアントは指定されたタイムアウト期間の値を超える応答メッセージを受信する可能性があります。この記事を読んだ後、同様の問題が発生した場合は、完全に解決できます。この解決策は PHP Web サイトのみに適用されることを覚えておいてください。
元のアドレス: http://www.manongjc.com/article/600.html
関連書籍:
phpは、同じ名前で異なる値を持つ複数のフォームデータインスタンスの受信を実装します
php フォームデータの取得例の共有
php 完全なフォーム検証の例
phpでフォームを送信する2つの方法
jQuery formValidator フォーム検証
jquery 簡単なフォーム検証の例
php フォームの繰り返し送信を防ぐいくつかの方法
jsフォームonsubmitイベントの使い方を詳しく解説
jquery 完全な非リフレッシュ Ajax 送信フォームの例
jquery は ajax を使用してフォームを送信します
phpはcurlを使用して投稿の送信をシミュレートします
php は fsockopen を介してフォームの投稿送信をシミュレートします
phpフォーム$_POST[]サンプルアプリケーション
フォームが空かどうかを確認する共通の JavaScript メソッドを共有します
このページに送信されたphpフォーム
JavaScript でフォーム要素を取得するいくつかの方法
javascript 完全なフォーム検証の例
jsを使用してフォームを送信します
phpでのフォームフォームサンプルアプリケーション http://www.bkjia.com/PHPjc/1115253.html