PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   請教一個PHP表單會重複發送的問題... (https://www.pcdvd.com.tw/showthread.php?t=688466)

嚐起來像雞 2007-01-16 02:30 AM

請教一個PHP表單會重複發送的問題...
 
一PHP頁面,內有一個FORM,action是它自己($_SERVER[ "PHP_SELF" ])
method用POST,
就是類似PCDVD這樣底下有快速回應,上面可以看先前回應的,
輸入資料submit後,
資料OK,有跑出來(存到mysql再讀出來)
但是如果重新整理(按F5)
它就會自己把資訊『再』submit一次
也就是說一直重新整理就會自動輸入先前的資料,
請問此問題如何解決?

ps.我發現mysql很奇妙,有設not null的key丟空值進去居然不會產生錯誤。 :stupefy:

chenyy 2007-01-16 02:37 AM

引用:
作者嚐起來像雞
一PHP頁面,內有一個FORM,action是它自己($_SERVER[ "PHP_SELF" ])
method用POST,
就是類似PCDVD這樣底下有快速回應,上面可以看先前回應的,
輸入資料submit後,
資料OK,有跑出來(存到mysql再讀出來)
但是如果重新整理(按F5)
它就會自己把資訊『再』submit一次
也就是說一直重新整理就會自動輸入先前的資料,
請問此問題如何解決?

ps.我發現mysql很奇妙,有設not null的key丟空值進去居然不會產生錯誤。 :stupefy:

把存檔的程式放在別頁...再redirect回來吧...這樣比較好.
或著存完後redirect到原網頁也可以...

瘋狂火星人 2007-01-16 09:11 AM

不熟悉PHP......
在資料存到資料庫之後,有把POST的那些變數清除掉嗎???

嚐起來像雞 2007-01-16 10:37 AM

解決了,非常感謝兩位大大,
把post變數清掉沒用,他會寫入空白值。

我的方法是設一個變數 $do = $_GET["do"]
發送表單的action則是變成<頁名>.php?p=<頁面碼>&do=new_reply
$do是"new_reply"的時候才讀取POST然後寫入資料,
寫完資料以後redirect回<頁名>.php?p=<頁面碼>,
不做導向的話,每次重新整理就好像按一次submit一樣。


所有的時間均為GMT +8。 現在的時間是01:12 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。