ホームページ >バックエンド開発 >PHPチュートリアル >フォーム送信エラー後に入力内容を返して保持する方法の詳細な説明

フォーム送信エラー後に入力内容を返して保持する方法の詳細な説明

*文
*文オリジナル
2018-01-05 18:00:312706ブラウズ

フォーム送信エラー後に返されたコンテンツが消えた場合はどうすればよいですか? 今日はこの問題を分析して解決します。この記事では、フォーム送信エラーで返された内容が消えてしまう問題の解決策を中心に紹介しますので、困っている友達は参考にしてみてください。お役に立てれば幸いです。

状況の概要:

フォーム情報を入力して送信するときに発生する問題は、ユーザーがフォームに入力して送信した後、プログラムが要件を満たしていないと判断し、返された後に返されることです。を選択すると、以前に入力したフォーム情報がクリアされます。記入される情報量が少ない場合は問題ありませんが、記入される情報量が比較的多い場合は、記入する人の機嫌に直結します。そのため、フォーム送信エラーが返った後に入力内容が消えてしまう問題の解決は、ユーザーエクスペリエンスを向上させる上で喫緊の課題となっています。
この種の問題については、次の状況をまとめました。
(1) ページは session_start 関数を使用しています。この関数は、現在のページを強制的に更新しないという特性を持っています。解決策は、この後に追加することです。 function 次のコード:

header("Cache-control:private");//注意在本行之前你的PHP程序不能有任何输出

session_start の前に

session_cache_limiter('nocache'); //清空表单 
session_cache_limiter('private'); //不清空表单,只在session生效期间 
session_cache_limiter('public'); //不清空表单,如同没使用session一般

を追加する他の解決策がいくつかあります。これにより、セッションがキャッシュされ、それをセッションに適用するときにセッションが表示されます。このため、この記事では以下に他のいくつかの解決策を提案します。
(2) Header メソッドを使用してメッセージ ヘッダー Cache-control を設定し、次のコードをページに追加します。出力がある場合は、この行は使用できないことに注意してください
(3) session_cache_limiter メソッドを使用し、次のコードをページに追加します。 session_start メソッドの前に記述してください

以下の Cache-Control メッセージを見てください。 ヘッダー フィールドの追加説明:

Cache-Control は、リクエストとレスポンスが後に続くキャッシュ メカニズムを指定します。要求メッセージまたは応答メッセージで Cache-Control を設定しても、別のメッセージの処理中のキャッシュ プロセスは変更されません。 リクエスト中のキャッシュ命令
には、no-cache、no-store、max-age、max-stale、min-fresh、only-if-cachedが含まれ、応答メッセージ内の命令には、public、private、no-cache、no-が含まれます。ストア、変換なし、必須再検証、プロキシ再検証、最大経過時間。各メッセージの指示の意味は次のとおりです。
Public:
は、応答を任意のキャッシュ領域にキャッシュできることを示します。

プライベート: 単一ユーザーの応答メッセージの全部または一部が共有キャッシュで処理できないことを示します。これにより、サーバーは、他のユーザーのリクエストには無効なユーザーからの部分的な応答のみを記述することができます。

no-cache: リクエストまたはレスポンスメッセージをキャッシュできないことを示します。

no-store: 重要な情報が意図せずに公開されるのを防ぐために使用されます。リクエスト メッセージで送信すると、リクエスト メッセージと応答メッセージの両方でキャッシュが使用されます。

max-age: クライアントが指定された時間 (秒) を超えない存続期間を持つ応答を受信できることを示します。

min-fresh: クライアントが、現在の時間に指定された時間を加えた時間よりも短い応答時間で応答を受信できることを示します。

max-stale: クライアントがタイムアウト期間を超えて応答メッセージを受信できることを示します。 max-stale メッセージの値を指定すると、クライアントは指定されたタイムアウト期間の値を超える応答メッセージを受信する可能性があります。

この記事を読んだ後、同様の問題が発生した場合は、完全に解決できるようになります。この解決策は PHP Web サイトのみに適用されることを覚えておいてください。

関連する推奨事項:

PHP を使用して 2 つの文字列の最も長い共通部分文字列を見つける方法の詳細な説明

PHP が vcf vcard ファイルを生成する方法の詳細な説明

PHPの説明高精度BC演算関数ライブラリ

以上がフォーム送信エラー後に入力内容を返して保持する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。