So verhindern Sie die erneute Übermittlung von Formularen beim Aktualisieren der Seite (F5/STRG+R)
P粉151466081
P粉151466081 2023-08-29 11:37:35
0
2
537
<p>Ich habe ein einfaches Formular, das Text an meine SQL-Tabelle sendet. Das Problem besteht darin, dass der Benutzer, nachdem er den Text übermittelt hat, die Seite aktualisieren und die Daten erneut übermitteln kann, ohne das Formular erneut auszufüllen. Ich kann den Benutzer nach dem Absenden des Textes auf eine andere Seite umleiten, möchte aber, dass der Benutzer auf derselben Seite bleibt. </p> <p>Ich erinnere mich, dass ich etwas gelesen habe, in dem es darum ging, jedem Benutzer eine eindeutige Sitzungs-ID zu geben und diese mit einem anderen Wert zu vergleichen, was mein Problem löste, aber ich vergaß, wo sie war. </p>
P粉151466081
P粉151466081

Antworte allen(2)
P粉817354783

我还想指出,您可以使用 JavaScript 方法 window.history.replaceState 来防止刷新和后退按钮时重新提交。

概念证明:https://dtbaker.net/files/ Prevent-post-resubmit.php(链接不再有效)

我仍然推荐 Post/Redirect/Get 方法,但这是一种新颖的 JS 解决方案。

P粉043432210

使用发布/重定向/获取模式。 http://en.wikipedia.org/wiki/Post/Redirect/Get

在我的网站上,我将在 cookie 或会话中存储消息,在发布后重定向,读取 cookie/会话,然后清除该会话或 cookie 变量的值。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage