


Detailed explanation of how to return and retain input content after form submission error
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程序不能有任何输出
There are several other solutions to add
session_cache_limiter('nocache'); //清空表单 session_cache_limiter('private'); //不清空表单,只在session生效期间 session_cache_limiter('public'); //不清空表单,如同没使用session一般
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

If you encounter an error message when using your printer, such as the operation could not be completed (error 0x00000771), it may be because the printer has been disconnected. In this case, you can solve the problem through the following methods. In this article, we will discuss how to fix this issue on Windows 11/10 PC. The entire error message says: The operation could not be completed (error 0x0000771). The specified printer has been deleted. Fix 0x00000771 Printer Error on Windows PC To fix Printer Error the operation could not be completed (Error 0x0000771), the specified printer has been deleted on Windows 11/10 PC, follow this solution: Restart Print Spool

Decrypting HTTP status code 460: Why does this error occur? Introduction: In daily network use, we often encounter various error prompts, including HTTP status codes. These status codes are a mechanism defined by the HTTP protocol to indicate the processing of a request. Among these status codes, there is a relatively rare error code, namely 460. This article will delve into this error code and explain why this error occurs. Definition of HTTP status code 460: First, we need to understand the basics of HTTP status code

Does Windows Sandbox terminate with Windows Sandbox Unable to Start, Error 0x80070005, Access Denied message? Some users reported that Windows Sandbox cannot be opened. If you also encounter this error, you can follow this guide to fix it. Windows Sandbox failed to start - Access Denied If Windows Sandbox terminates with Windows Sandbox Unable to Start, Error 0x80070005, Access Denied message, make sure you are logged in as an administrator. This type of error is usually caused by insufficient permissions. So try logging in as an administrator and see if that resolves the issue. If the problem persists, you can try the following solutions: Run the Wi-Fi as administrator

Table of Contents Solution 1 Solution 21. Delete the temporary files of Windows update 2. Repair damaged system files 3. View and modify registry entries 4. Turn off the network card IPv6 5. Run the WindowsUpdateTroubleshooter tool to repair 6. Turn off the firewall and other related anti-virus software. 7. Close the WidowsUpdate service. Solution 3 Solution 4 "0x8024401c" error occurs during Windows update on Huawei computers Symptom Problem Cause Solution Still not solved? Recently, the web server needs to be updated due to system vulnerabilities. After logging in to the server, the update prompts error code 0x8024401c. Solution 1

AutoCAD is one of the most commonly used drawing design software, but when we want to use it on win11, we may encounter an error when installing autocad on win11. At this time, we can try to modify the registry to solve it. An error occurred when installing autocad in win11: First step, press "win logo + r" on the keyboard to open the run. In the second step, enter "regedit" and press Enter to open the registry. 3. Paste "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" into the path above. 4. After entering, double-click

If you encounter error code 0x80070003 when using Hyper-V to create or start a virtual machine, it may be caused by permission issues, file corruption, or configuration errors. Solutions include checking file permissions, repairing damaged files, ensuring correct configuration, and more. This problem can be solved by ruling out the different possibilities one by one. The entire error message looks like this: The server encountered an error while creating [virtual machine name]. Unable to create new virtual machine. Unable to access configuration store: The system cannot find the path specified. (0x80070003). Some possible causes of this error include: The virtual machine file is corrupted. This can happen due to malware, virus or adware attacks. Although the likelihood of this happening is low, you can't completely

Title: Analysis of Oracle Error 3114: Causes and Solutions When using Oracle database, you often encounter various error codes, among which error 3114 is a relatively common one. This error generally involves database link problems, which may cause exceptions when accessing the database. This article will interpret Oracle error 3114, discuss its causes, and give specific methods to solve the error and related code examples. 1. Definition of error 3114 Oracle error 3114 pass

If you encounter the Kadena-Keesler error while playing Call of Duty: Vanguard, this article may be helpful to you. According to feedback from some players, the game has this problem on Windows PC, Xbox, PlayStation and other platforms. When triggered, you may receive the following error message: Connection failed No network connection failed. You must have an active internet connection to play online or over a local network. [Reason: Kadena-Keesler] You may also receive the following error message: Connection failed Unable to access online services. [Reason: Kadena-Keesler] Another instance of this error on Xbox is as follows: You must have an active network connection
