Mysql
 sql >> база данни >  >> RDS >> Mysql

Какви са някои методи за предотвратяване на двойно публикуване във формуляр? (PHP)

Ако искате да предотвратите двойни подавания, трябва да съхраните състоянието „е изпратено“ срещу „не е изпратено“. Имате няколко опции за това къде да съхранявате тази информация.

  • База данни - Добавете скрито поле с автоматично генерирана стойност, която е уникална (можете да генерирате кратък произволен низ от него и да добавите текущото време). Тази стойност може да се използва и за идентифициране на разговора - ако имате нужда от уеб разговор със състояние. Добавете тази стойност към базата данни и я направете уникална. Недостатъци:излишно съхранение в базата данни, намалена производителност при вмъкване на коментар, трябва да се генерира уникален низ.
  • Сесия - Добавете същото скрито поле със стойност, генерирана в подобен въпрос. Когато потребителят изпрати формуляра, запазете стойността в сесията, ако вече не е там. Ако е така, това е двойно подаване. Недостатъци:все още трябва да генерирате уникалния токен.
  • Браузър - (1) Добавете малко JavaScript, за да деактивирате бутона за изпращане, след като щракнете върху него. (2) имат скрито поле, което започва със стойността 0 и се променя на 1, когато потребителят щракне върху бутона за изпращане. Ако потребителят щракне отново върху бутона, вие проверявате дали стойността е 1 и прекратявате, ако е. Предимства:няма уникален низ. Недостатъци:изисква активиране на javascript; може да се нуждаете от низа, за да внедрите уеб разговори със състояние.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте времевата марка в четлива дата по време на заявка

  2. Mysql, Проверете промяната на стойността на полето?

  3. Оттеглени функции на MySql

  4. Предупреждение:mysql_error():предоставеният аргумент не е валиден ресурс на MySQL-Link

  5. SQL заявка за условно извличане на записи въз основа на списък с ключови стойности