Heim > Backend-Entwicklung > PHP-Tutorial > Von WeChat entwickelte Lösung für das Problem der automatischen doppelten Übermittlung des PHP-Formulars in WeChat

Von WeChat entwickelte Lösung für das Problem der automatischen doppelten Übermittlung des PHP-Formulars in WeChat

高洛峰
Freigeben: 2023-03-04 18:34:01
Original
1275 Leute haben es durchsucht

Vorwort:

Vor kurzem mache ich WeChat-Entwicklung. Wenn ich auf die PHP-Seite in WeChat zugreife, gibt es ein Formular auf der Seite. Der Test ergab, dass das Formular gelegentlich automatisch zweimal übermittelt wurde, was zu Prozessfehlern führte.

Die Ursache des Problems

Die Ursache wurde noch nicht gefunden, es wird jedoch vermutet, dass sie mit dem Mechanismus von WeChat selbst zusammenhängt.

Lösung

Verwenden Sie die Sitzung, um eine Zufallszahl zu berechnen und diese jedes Mal zu veröffentlichen, wenn das Formular gesendet wird. Wenn die Seite die Formularübermittlung verarbeitet, wird zunächst festgestellt, ob die Sitzung vorhanden ist. Wenn sie vorhanden ist, wird sie mit der veröffentlichten Zufallszahl verglichen.

Codebeispiel:

Formularteil

<div class="odform">
  <form action="#" method="post">
 
    <div class="input-group">
      <label for="amount_id">金额</label>
      <input type="text" name="amount" id="amount_id"
          placeholder="单位是元,精确到分,如:12.66" pattern="^([1-9]+(\.[0-9]{2})?|0\.[1-9][0-9]|0\.0[1-9])$">
      <input type="hidden" name="code" value="<?php $code = mt_rand(0, 100000); echo $code; ?>">
    </div>
 
    <div class="input-group">
      <span id="available">当前余额:<?php echo $amount_available; ?>元</span>
    </div>
 
    <button name="confirm">确认</button>
  </form>
</div>
Nach dem Login kopieren

Verarbeitung der Formularübermittlung

if(isset($_POST[&#39;confirm&#39;])) {
  //解决重复调用两次的问题
  if ($_POST[&#39;code&#39;] == $_SESSION[&#39;code&#39;])
  {
    exit;
  }
  else
  {
    $_SESSION[&#39;code&#39;] = $_POST[&#39;code&#39;];
  }
 
  //continue....
}
Nach dem Login kopieren

Vielen Dank fürs Lesen, ich hoffe, es kann allen helfen, Vielen Dank für Ihre Bewertung. Unterstützung von dieser Seite!

Weitere verwandte Artikel zur Lösung des Problems der automatischen Übermittlung des doppelten PHP-Formulars in WeChat, das von WeChat entwickelt wurde, finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage