网站地图 | 联系我们 | 咨询热线:0991-4811639
您现在的位置: 新疆二域设计网络公司 >> 网页设计学院 >> 网络编程 >> PHP编程 >> 正文
你是否遇到过“重复提交”的问题?要解决这个问题其实并不难。这里有一个简单的方法避免同一表单的重复提交。
首先,我们可以定义一个session变量用来保存一个表单的提交序列号。这里我定义为“$userLastAction”。然后在表单里加入一个hidden变量,把值设为$userLastAction+1:
<input type=Hidden name=lastAction value=<? =$userLastAction+1 ?>>
最后,在处理提交之前判断表单是否已被提交过:
if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // 序列号加1
// 处理表单数据
}

原文:
Avoid multiple form submissions
Submitted By: Douglas E. Cook
Date: 07/26/00 19:46
Does your database suffer from "duplicate post" syndrome? The cure isn't too difficult. Here is a simple way to prevent users from submitting the same form multiple times.

First, declare a session variable to store a serial number for each form. I call mine "$userLastAction." Then, in every form where duplicate submission is a problem, include a hidden field, and set the value to $userLastAction+1:

<INPUT TYPE=HIDDEN NAME=lastAction VALUE=<?= $userLastAction+1 ?>>

Finally, verify that the form has not been previously submitted before acting on the submission:

if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // Increment serial number
// Act on form here
}

译自:phpbuilder
这只是一个小技巧,用来避免一个表单的重复提交。这样多少可以防止一些灌水的现象,另外有时候由于网络状况等原因用户不知道提交是否成功,也会再次提交同一份表单。
这个技巧的主要原理是不允许用户回退后再次提交,也就是说回退后修改再提交也是不允许的,而且也不能避免Ctrl-C/Ctrl-V的灌水办法。究竟有没有用,还是看各位站长的喜好了。

作者:佚名 | 文章来源:不详 | 更新时间:2007-5-4 1:58:13

  • 上一篇文章:

  • 下一篇文章:
  • 相关文章:
    没有相关文章

    色彩理念
    网页制作
    美工图形
    网络编程
    数 据 库
    网站运营
    ::最近更新::
    ·YAML简介 让我们一起认识Y…
    ·PHP图片处理类CImage
    ·php中最大上传文件大小限制…
    ·PHP编程直接调用文本文件内…
    ·php默认配置下让fopen生成…
    ·php paypal接口略记…
    ·用xdebug优化php的三个技巧
    ·PHP语法:for循环语句的定…
    ·PHP脚本编程中的文件系统函…
    ·Cookies在学习动态网页制作…
    ·用PHP5的DirectoryIterato…
    ·PHP中的XML应用
    ·PHP套接字编程及应用
    ·php参考:详细的php.ini中…
    ·PHP技巧 修改httpd.conf防…
    ::推荐阅读::
    ·php论坛程序介绍与比较
    ·PHP实现的自动邮件发送程序
    ·使用PHP配置并连接access数…
    ·推荐阅读:php技术生成静态…
    ·PHP实现文件安全下载
    ·PHP 应用技巧七则…
    ·PHP中重新定向到另一个页面

    关于我们 | 网站建设 | 服务帮助 | 联系我们 | 网页设计学院 | 实用工具 | 友情链接 | 新疆专题
    版权所有 © 2007 新疆二域设计网络公司 www.xjcncn.com All Rights Reserved
    网站建设总机:0991-4811639 传真:0991-4842803 ;咨询热线:13999201770. E-mail:xjcncn@gmail.com
    MSN :xjcncn@hotmail.com ; QQ:359312 ;地址:新疆乌鲁木齐市友好E时代公寓B座708 邮编:830000