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

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比泰州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式泰州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋泰州地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
有一個簡單的方法可以避免同一表單的重復(fù)提交。首先,先定義一個session變量用來保存一個PHP表單的提交序列號。這里我定義為“$userLastAction”。然后在表單里加入一個hidden 變量,把值設(shè)為
- $userLastAction+1:
- type=Hidden name=lastAction value= =$userLastAction+1 ?>>
***,在處理提交之前判斷PHP表單是否已被提交過。
- if($lastAction>$userLastAction){
- $userLastAction++; // 序列號加1
- // 處理表單數(shù)據(jù)
- }
- ?>
#T#這個技巧的主要原理是不允許用戶回退后再次提交,也就是說回退后修改再提交也是不允許的,但是還是不能避免Ctrl-C/Ctrl-V的灌水辦法。下載文件的下載次數(shù)回填:我們在下載軟件時,經(jīng)常會看到此軟件的下載統(tǒng)計次數(shù),而這些統(tǒng)計數(shù)給網(wǎng)站管理員分析軟件的受歡迎程度帶來了方便。其實現(xiàn)原理是:在后端數(shù)據(jù)庫中存放軟件的唯一標(biāo)識和下載數(shù),在用戶下載軟件時,首先更新對應(yīng)軟件的下載次數(shù)即下載次數(shù)加1,然后再到下載文件上正式開始下載。請看下面的實現(xiàn)代碼:
先建一數(shù)據(jù)表download (后端用MySql)
- download表中含有下列兩個字段:
- id 下載的文件的唯一標(biāo)識
- downnum 下載次數(shù),默認(rèn)值為0
實現(xiàn)
假設(shè)已經(jīng)從數(shù)據(jù)庫取出:描述文件名 五筆字型 ;下載文件名:wbzx.zip ;標(biāo)識號id值為2處理后生成的超級鏈接代碼為:
下面的代碼download.php處理下載次數(shù)累計及根據(jù)傳遞的文件名定位下載文件。
- //連接Mysql數(shù)據(jù)庫代碼略
- $res=mysql_query("update download set downnum=(downnum+1) where id='$id'" ,$db);
- header("location:$filename");
- ?>
網(wǎng)站題目:經(jīng)驗之談PHP表單重復(fù)提交問題解決方案
當(dāng)前鏈接:http://m.fisionsoft.com.cn/article/ccsgjdh.html


咨詢
建站咨詢
