Heim  >  Artikel  >  Backend-Entwicklung  >  So verhindern Sie, dass das Formular nach der Übermittlung in PHP gelöscht wird

So verhindern Sie, dass das Formular nach der Übermittlung in PHP gelöscht wird

藏色散人
藏色散人Original
2020-11-17 09:57:492519Durchsuche

Die Implementierungsmethode, um das PHP-Formular nach der Übermittlung nicht zu löschen: Öffnen Sie zuerst die entsprechende Codedatei und schreiben Sie dann die Anweisung „header(“Cache-control: private“);“ nach „session_start()“ und vor der Zeichenausgabe.

So verhindern Sie, dass das Formular nach der Übermittlung in PHP gelöscht wird

Empfehlung: „PHP-Video-Tutorial

Lösung, nachdem das PHP-Formular zurückgegeben wurde und der Formularinhalt nicht gelöscht wurde

Bei der Registrierung füllen wir häufig viele Informationen aus und übermitteln diese dann Bei der Registrierung gehen manchmal alle zuvor eingegebenen Inhalte verloren. Dies führt dazu, dass der Benutzer die von ihm eingegebenen Informationen erneut verliert, was sich auf die Benutzererfahrung auswirkt und den Verlust verursacht Wie kann man dieses Problem lösen?

Die Lösung besteht darin, den Header („Cache-control: private“) nach session_start() und vor der Zeichenausgabe zu schreiben.

Der Cache der Webseite wird durch das „Cache-control“ im HTTP-Nachrichtenheader gesteuert ist üblich. Zu den Werten gehören „Privat“, „Kein Cache“, „Max-Alter“, „Muss erneut validiert“ usw. Der Standardwert ist „Privat“. Seine Funktion ist entsprechend den verschiedenen Methoden zum erneuten Durchsuchen in die folgenden Situationen unterteilt:

(1) Öffnen Sie ein neues Fenster

Der Wert ist privat, kein Cache, muss erneut validiert werden, dann wird der Server erneut besucht, wenn a neues Fenster wird geöffnet.

Und wenn der max-age-Wert angegeben ist, wird innerhalb dieses Werts nicht erneut auf den Server zugegriffen, zum Beispiel:

Cache-Steuerung: max-age=5 (was bedeutet, dass innerhalb von 5 Sekunden nach dem Zugriff auf diese Webseite erneut zugegriffen wird geht nicht zum Server)

(2) Drücken Sie die Eingabetaste in der Adressleiste

Wenn der Wert privat ist oder erneut validiert werden muss, wird nur beim ersten Mal auf den Server zugegriffen und es erfolgt kein erneuter Zugriff.

Der Wert ist „no-cache“, dann wird jedes Mal darauf zugegriffen.

Wenn der Wert max-age ist, wird vor Ablauf nicht erneut darauf zugegriffen.

(3) Drücken Sie die Zurück-Taste. Wenn der Wert von

privat ist, muss erneut validiert werden, wird nicht erneut darauf zugegriffen. Wenn der Wert von

kein Cache ist, wird erneut darauf zugegriffen Jedes Mal.

(4) Drücken Sie die Aktualisierungstaste

Unabhängig vom Wert wird wiederholt darauf zugegriffen.

Wenn der Cache-Kontrollwert „Kein Cache“ ist, hinterlässt der Zugriff auf diese Seite keine Seitensicherung der temporäre Artikelordner im Internet.

Darüber hinaus wird durch die Angabe des „Expires“-Wertes auch der Cache beeinflusst. Wenn Sie beispielsweise den Wert „Abgelaufen“ als eine längst vergangene Zeit angeben und beim Zugriff auf diese Website wiederholt die Eingabetaste in der Adressleiste drücken, wird der Zugriff jedes Mal wiederholt: Abgelaufen: Fr, 31. Dezember 1999, 16:00 Uhr :00 GMT

Zum Beispiel: Seiten-Caching im IE deaktivieren

HTTP-Antwortnachrichten-Header-Einstellung:

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

Expires ist eine gute Sache. Wenn sich die Webseite auf dem Server häufig ändert, setzen Sie sie auf -1, um den sofortigen Ablauf anzuzeigen. Wenn eine Webseite jeden Tag um 1 Uhr morgens aktualisiert wird, können Sie „Ablaufzeit“ auf 1 Uhr morgens am nächsten Tag festlegen.

Wenn der HTTP1.1-Server CacheControl = no-cache angibt, speichert der Browser die Webseite nicht zwischen.

Alte HTTP 1.0-Server können den Cache-Control-Header nicht verwenden.

Um die Abwärtskompatibilität mit HTTP 1.0-Servern zu gewährleisten, bietet IE spezielle Unterstützung für HTTP mithilfe des Pragma:no-cache-Headers.

Wenn der Client über eine sichere Verbindung (https://) mit dem Server kommuniziert und der Server den Pragma:no-cache-Header in der Antwort zurückgibt,

Internet Explorer speichert die Antwort nicht zwischen. Hinweis: Pragma:no-cache verhindert das Caching nur, wenn es in einer sicheren Verbindung verwendet wird. Die Handhabung ist dieselbe wie bei Expires:-1. Die Seite wird zwischengespeichert, aber sofort als abgelaufen markiert.

Cache-Control-Nachrichtenkopffeldbeschreibung

Cache-Control gibt den Caching-Mechanismus an, dem Anforderungen und Antworten folgen. Durch das Festlegen von

Cache-Control in einer Anforderungsnachricht oder Antwortnachricht wird der Cache-Verarbeitungsprozess in einem anderen Nachrichtenverarbeitungsprozess nicht geändert. Zu den Cache-Anweisungen während der Anfrage gehören „No-Cache“, „No-Store“, „Max-Age“, „Max-Stale“, „Min-Fresh“, „Only-If-Cached“ und zu den Anweisungen in der Antwortnachricht gehören „Public“, „Private“, „No-Cache“ und „No“. -store, no-transform, Must-revalidate, Proxy-revalidate, max-age. Die Bedeutung der Anweisungen in jeder Nachricht ist wie folgt:

Public gibt an, dass die Antwort in einem beliebigen Cache-Bereich zwischengespeichert werden kann.

Private gibt an, dass die Antwortnachricht für einen einzelnen Benutzer ganz oder teilweise nicht vom gemeinsam genutzten Cache verarbeitet werden kann. Dadurch kann der Server nur eine Teilantwort eines Benutzers beschreiben, die für die Anfragen anderer Benutzer nicht gültig ist.

no-cache gibt an, dass die Anforderungs- oder Antwortnachricht nicht zwischengespeichert werden kann.

no-store wird verwendet, um zu verhindern, dass wichtige Informationen unbeabsichtigt freigegeben werden. Das Senden in der Anforderungsnachricht führt dazu, dass sowohl die Anforderungs- als auch die Antwortnachrichten Caching verwenden.

max-age gibt an, dass der Client Antworten mit einer Lebensdauer erhalten kann, die nicht länger als die angegebene Zeit in Sekunden ist.

min-fresh gibt an, dass der Client Antworten mit einer Antwortzeit erhalten kann, die kürzer ist als die aktuelle Zeit plus die angegebene Zeit.

max-stale gibt an, dass der Client über den Timeout-Zeitraum hinaus Antwortnachrichten empfangen kann. Wenn Sie einen Wert für Max-Stale-Nachrichten angeben, kann der Client Antwortnachrichten empfangen, die den angegebenen Wert des Timeout-Zeitraums überschreiten.

Das obige ist der detaillierte Inhalt vonSo verhindern Sie, dass das Formular nach der Übermittlung in PHP gelöscht wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn