Home > Backend Development > PHP Tutorial > Detailed explanation of how to return and retain input content after form submission error

Detailed explanation of how to return and retain input content after form submission error

*文
Release: 2023-03-19 09:36:02
Original
2707 people have browsed it

What should I do if the returned content disappears after the form is submitted incorrectly? Today we will analyze and solve this problem. This article mainly introduces the solution to the problem of the returned content disappearing after a form submission error. Friends in need can refer to it. I hope to be helpful.

Overview of the situation:

A problem you will encounter when filling in form information and submitting it is that after the user fills in and submits the form, the program determines that it does not meet the requirements and returns. The previously filled form information will be cleared after returning. It doesn't matter if the amount of information filled in is small, but if the amount of information filled in is relatively large, it will directly affect the good mood of the person filling in the information. Therefore, solving the problem of the filled-in content disappearing after a form submission error returns is an urgent issue to improve user experience.
Regarding this problem, we have summarized the following situations:
(1) The page uses the session_start function. This function has a characteristic that it will force the current page not to be refreshed. The solution is Add the following code after this function:

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

There are several other solutions to add

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

before session_start. The above setting session will cause seesion to appear. The caching phenomenon will cause the problem that the session information cannot be updated when you apply it to the session. For this reason, this article proposes the following other solutions.
(2) Use the Header method to set the message header Cache-control and add the following code to the page:
header('Cache-control: private, must-revalidate'); //Support page Jump back, note that there cannot be any output before this line
(3) Use the session_cache_limiter method and add the following code to the page:
session_cache_limiter('private, must-revalidate'); //Note To be written before the session_start method
The following is a supplementary explanation of the Cache-Control message header field:
Cache-Control specifies the caching mechanism followed by the request and response. Setting Cache-Control in a request message or response message does not modify the caching process during the processing of another message. Cache instructions during request include no-cache, no-store, max-age, max-stale, min-fresh, only-if- cached, and instructions in the response message include public, private, no- cache, no-store, no-transform, must-revalidate, proxy-revalidate, max-age. The meaning of the instructions in each message is as follows:

Public: indicates that the response can be cached by any cache area.

Private: Indicates that all or part of the response message for a single user cannot be processed by the shared cache. This allows the server to only describe a partial response from a user that is not valid for other users' requests.

no-cache: Indicates that the request or response message cannot be cached

no-store: Used to prevent important information from being released unintentionally. Sending it in the request message will cause both the request and response messages to use caching.

max-age: Indicates that the client can receive responses with a lifetime no greater than the specified time (in seconds).

min-fresh: Indicates that the client can receive responses with a response time less than the current time plus the specified time.

max-stale: Indicates that the client can receive response messages beyond the timeout period. If you specify a value for max-stale messages, the client can receive response messages that exceed the specified value of the timeout period.

After reading this article, if you encounter similar problems, you can completely solve them. Please remember that this solution is only for PHP websites.

Related recommendations:

Detailed explanation of using PHP to find the longest common substring of two strings

Detailed explanation of how PHP generates vcf vcard files

Detailed explanation of PHP high-precision operation BC function library

The above is the detailed content of Detailed explanation of how to return and retain input content after form submission error. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template