自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

經(jīng)驗(yàn)之談PHP表單重復(fù)提交問(wèn)題解決方案

開(kāi)發(fā) 后端
文章提供一個(gè)PHP表單技巧,這個(gè)技巧的主要原理是不允許用戶回退后再次提交,但是還是不能避免Ctrl-C/Ctrl-V的灌水辦法。

PHP經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,很多用戶都很了解PHP了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。我們?cè)谧鼍W(wǎng)站時(shí),常常為一些灌水文章而煩惱。有時(shí),由于網(wǎng)絡(luò)狀況等原因用戶不知道提交是否成功,也會(huì)再次提交同一份表單,這就造成了PHP表單的重復(fù)提交不起。

有一個(gè)簡(jiǎn)單的方法可以避免同一表單的重復(fù)提交。首先,先定義一個(gè)session變量用來(lái)保存一個(gè)PHP表單的提交序列號(hào)。這里我定義為“$userLastAction”。然后在表單里加入一個(gè)hidden 變量,把值設(shè)為

  1. $userLastAction+1:  
  2. <input type=Hidden name=lastAction value=<? =$userLastAction+1 ?>>  

***,在處理提交之前判斷PHP表單是否已被提交過(guò)。

  1. if($lastAction>$userLastAction){  
  2. $userLastAction++; // 序列號(hào)加1  
  3. // 處理表單數(shù)據(jù)  
  4. }  
  5. ?> 

#T#這個(gè)技巧的主要原理是不允許用戶回退后再次提交,也就是說(shuō)回退后修改再提交也是不允許的,但是還是不能避免Ctrl-C/Ctrl-V的灌水辦法。下載文件的下載次數(shù)回填:我們?cè)谙螺d軟件時(shí),經(jīng)常會(huì)看到此軟件的下載統(tǒng)計(jì)次數(shù),而這些統(tǒng)計(jì)數(shù)給網(wǎng)站管理員分析軟件的受歡迎程度帶來(lái)了方便。其實(shí)現(xiàn)原理是:在后端數(shù)據(jù)庫(kù)中存放軟件的唯一標(biāo)識(shí)和下載數(shù),在用戶下載軟件時(shí),首先更新對(duì)應(yīng)軟件的下載次數(shù)即下載次數(shù)加1,然后再到下載文件上正式開(kāi)始下載。請(qǐng)看下面的實(shí)現(xiàn)代碼:

先建一數(shù)據(jù)表download (后端用MySql)

  1. download表中含有下列兩個(gè)字段:  
  2. id    下載的文件的唯一標(biāo)識(shí)  
  3. downnum 下載次數(shù),默認(rèn)值為0 

實(shí)現(xiàn)

假設(shè)已經(jīng)從數(shù)據(jù)庫(kù)取出:描述文件名 五筆字型 ;下載文件名:wbzx.zip ;標(biāo)識(shí)號(hào)id值為2處理后生成的超級(jí)鏈接代碼為:

  1. <a href="download.php?filename=wbzx.zip&id=2">五筆字型</a> 

下面的代碼download.php處理下載次數(shù)累計(jì)及根據(jù)傳遞的文件名定位下載文件。

  1. //連接Mysql數(shù)據(jù)庫(kù)代碼略  
  2. $res=mysql_query("update download set downnum=(downnum+1) where id='$id'" ,$db);  
  3. header("location:$filename");  
  4. ?> 
責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-12-09 16:58:03

PHP strtoti

2009-11-16 15:32:05

PHP數(shù)組函數(shù)

2009-12-08 11:44:14

PHP獲取隨機(jī)數(shù)

2012-05-09 10:08:41

跨機(jī)房

2010-09-27 13:14:42

JVM內(nèi)存限制

2010-03-30 16:04:34

Linux Nginx

2009-12-23 10:07:57

學(xué)習(xí)WPF

2009-11-18 09:53:50

PHP安裝設(shè)置

2009-11-09 17:06:38

WCF選擇綁定

2009-12-17 18:12:31

Ruby框架應(yīng)用

2010-04-28 19:24:17

Hp unix

2011-03-23 16:38:28

LAMP

2010-10-08 13:09:38

JavaScript數(shù)

2010-02-06 14:54:11

C++指針漂移

2010-05-31 12:53:56

Nagios apac

2010-03-02 17:48:35

WCF尋址報(bào)頭

2010-04-30 14:31:58

Unix系統(tǒng)

2009-09-03 16:09:48

.net回車符

2010-08-26 12:59:29

marginCSS

2010-02-23 17:49:56

WCF傳輸大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)