Inhaltsverzeichnis
解决php表单重复提交实现方法,php表单重复提交
Heim Backend-Entwicklung PHP-Tutorial 解决php表单重复提交实现方法,php表单重复提交_PHP教程

解决php表单重复提交实现方法,php表单重复提交_PHP教程

Jul 12, 2016 am 09:07 AM
php 重复提交

解决php表单重复提交实现方法,php表单重复提交

重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦。

1

2

3

4

5

6

7

8

9

10

11

12

<&#63;php

/*

 * php中如何防止表单的重复提交

 */

session_start();

if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库

  $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为后面刷新或后退的判断做个铺垫

  //...........//写入数据库操作

} else {//已经有第一次写入后的操作,也就不再写入数据库

  echo '请不要再次刷新和后退'; //写一些已经写入的提示或其它东西

}

&#63;>

Nach dem Login kopieren

具体原理
session范围变量token来防止。
1. 开启session:
session_start();
2. 如果有表单提交

1

if (isset($token))

Nach dem Login kopieren

token以hidden的形式包含在form当中。

1

<input type="hidden" name="token" value="<&#63;php echo $token; &#63;>" />

Nach dem Login kopieren

3. 如果是重复提交表单

1

2

3

4

5

6

7

if ($_SESSION["token"] != $token) {

  // 不让重复提交,在此处理

  // header("location:".$_SERVER['PHP_SELF']);

} else {

  // 正常的表单提交,在此处理

  // echo "已提交"; 

}

Nach dem Login kopieren

4. 设置token值
$token = mt_rand(0,1000000);
2$_SESSION['token'] = $token;

以上就是关于如何解决php表单重复提交实现方法,希望对大家的学习有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1058161.htmlTechArticle解决php表单重复提交实现方法,php表单重复提交 重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时...
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

See all articles