Heim  >  Fragen und Antworten  >  Hauptteil

So verhindern Sie die erneute Übermittlung von Formularen beim Aktualisieren der Seite (F5/STRG+R)

<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粉151466081P粉151466081438 Tage vor503

Antworte allen(2)Ich werde antworten

  • P粉817354783

    P粉8173547832023-08-30 09:58:46

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

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

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

    Antwort
    0
  • P粉043432210

    P粉0434322102023-08-30 09:17:22

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

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

    Antwort
    0
  • StornierenAntwort