Home  >  Article  >  Backend Development  >  How to prevent the form from being cleared after submission in php

How to prevent the form from being cleared after submission in php

藏色散人
藏色散人Original
2020-11-17 09:57:492469browse

The implementation method of not clearing the php form after submission: first open the corresponding code file; then after "session_start()", write the statement "header("Cache-control: private"); before character output; "That's it.

How to prevent the form from being cleared after submission in php

Recommended: "PHP Video Tutorial"

php form is returned after submission, but the form content is not cleared Solution

We often fill in a lot of recommended information when registering and then submit the registration. Because one of the information is incorrect, all the previously filled-in content is gone when we return. , this will cause the user to lose the information to be filled in again, which will affect the user experience and cause the loss of users. So how to solve this problem?

The solution is to write header("Cache-control: private") after session_start() and before character output;

The cache of the web page is determined by the "Cache-control" in the HTTP message header. control". Common values ​​include private, no-cache, max-age, must-revalidate, etc. The default is private. Its function is divided into the following situations according to different rebrowsing methods:

(1) Open a new window

The value is private, no-cache, must-revalidate, then open a new window to visit The server will be accessed again every time.

If the max-age value is specified, the server will not be accessed again within this value, for example:

Cache-control: max-age=5 (meaning that the current Accessing this webpage again within 5 seconds will not go to the server)

(2) Enter in the address bar

If the value is private or must-revalidate, it will only be accessed for the first time. Access the server and never access it again.

The value is no-cache, then it will be accessed every time.

If the value is max-age, it will not be accessed again before expiration.

(3) Press the back button. If the value of

is private, must-revalidate, max-age, it will not be revisited. If the value of

is no-cache, then Repeatedly access

every time (4) Press the refresh button

No matter what the value is, it will be accessed repeatedly

When the Cache-control value is "no-cache", access This page will not leave a page backup in the temporary Internet article folder.

In addition, the cache will also be affected by specifying the "Expires" value. For example, if you specify the Expires value as a time that has already passed, then if you press Enter repeatedly in the address bar when accessing this network, the access will be repeated each time: Expires: Fri, 31 Dec 1999 16:00:00 GMT

For example: prohibit page caching in IE

http response message header setting:

CacheControl = no-cache
Pragma=no-cache
Expires = -1

Expires is a good thing. If the web pages on the server change frequently, set it to - 1, indicating immediate expiration. If a web page is updated at 1 am every day, you can set Expires to 1 am the next day.

When the HTTP1.1 server specifies CacheControl = no-cache, the browser will not cache the web page.

Legacy HTTP 1.0 servers cannot use the Cache-Control header.

So in order to be backward compatible with HTTP 1.0 servers, IE uses the Pragma:no-cache header to provide special support for HTTP.

If the client communicates with the server over a secure connection (https://) and the server returns the Pragma:no-cache header in the response,

Internet Explorer will not cache the response. Note: Pragma:no-cache only prevents caching when used in a secure connection. If used in a non-secure page, the handling is the same as Expires:-1. The page will be cached but marked as expired immediately.

Cache-Control message header field description

Cache-Control specifies the caching mechanism followed by requests and responses. Setting

Cache-Control in a request message or response message does not modify the caching process during the processing of another message. The cache instructions during the request include no-cache, no-store, max-age, max-stale, min-fresh, only-if-cached, and the 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 is used to prevent important information from being inadvertently released. 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.

The above is the detailed content of How to prevent the form from being cleared after submission in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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