Home > Backend Development > PHP Tutorial > WeChat development PHP form WeChat automatic submission twice problem solution

WeChat development PHP form WeChat automatic submission twice problem solution

高洛峰
Release: 2023-03-04 18:34:01
Original
1306 people have browsed it

Foreword:

Recently I was doing WeChat development. When I accessed the PHP page in WeChat, there was a form on the page. The test found that occasionally the form was automatically submitted twice, causing process errors.

Cause of the problem

The reason has not been found yet, but it is suspected to be related to the mechanism of WeChat itself.

Solution

Use session to calculate a random number and post it every time the form is submitted. When the page processes form submission, it first determines whether the session exists. If it does not exist, save it. If it exists, compare it with the random number posted. If they are equal, it means repeated submission.

Code example:

Form part

<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>
Copy after login

Processing form submission

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....
}
Copy after login

Thank you for reading, I hope it can help everyone, thank you for your support of this site !

For more articles related to the solution to the problem of automatically submitting twice the PHP form in WeChat developed by WeChat, please pay attention to the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template