この記事では、PHP がフォームの送信に失敗した後に入力された情報を保持する方法についていくつかの概要を紹介します。最も一般的に使用される方法は、ネットワーク速度が遅い場合に問題が発生する可能性があります。方法はajaxを使用することです。
1.ヘッダー ヘッダーを使用して、キャッシュ コントロール ヘッダー Cache-control を設定します。
PHP コードは次のとおりです:
2. session_cache_limiter メソッドを使用します。
PHP コードは次のとおりです:
session_cache_limiter パラメーターを以下に紹介します:
session_cache_limiter のいくつかのパラメータの意味は次のとおりです:
nocache: もちろんキャッシュされません(例:フォーム情報がクリアされます)が、パブリック変数はキャッシュできます
private: プライベートモードでキャッシュします (例: フォーム情報は保持されますが、存続期間内は有効です)
private_no_cache: プライベート モードですが有効期限はありません (フォーム情報は保持されます)
publice: パブリックモード、(フォーム情報も保持されます)
キャッシュの有効期限を設定します: session_cache_expire 関数の設定、デフォルトは 180 分です。
よくある質問:
1.session_cache_limiter("private"); フォーム情報は保持されますが、送信された情報を変更すると、フォーム ページに表示される情報はキャッシュ内の情報のままになり、session_cache_limiter(" の場合は自動的に更新されません。 private") が使用されていないため、フォーム情報を保持できません
解決策:
session_start の前に
を追加します以上です。
2. ajax を使用してインスタンスを作成する別の方法
index.html テンプレート ファイルのおおよその内容は次のとおりです:
login.php ファイルの内容は次のとおりです:
この場合、送信時にページを更新する必要はありません。この方法では、送信が失敗してもデータは 100% 保存され、失われることはありません。