2013-03-06 163 views
1

我有一個頁面向自己發送數據,即使用PHP_SELF防止多次提交

在頁面刷新時,即當頁面重新加載時,我放置兩個按鈕 - Refresh Again,其中I 使用PHP_SELF再次使用發送數據。 - 彈出警告框詢問確認,通常在日期再次發送到頁面時發生。

第二個按鈕的目的 - Reload without sending data,必須重新加載頁面。

沒有出現上述彈出框,即沒有發送數據。

有沒有辦法再發送到 服務器或頁面之前,沖洗出來的數據?

我通過$_GET發送數據。

我檢查我是否收到任何數據如下:

if(isset($_GET['getVariable'])) 

/* I place the buttons here, in a form, the action parameter of which points to the same page, i.e. `PHP_SELF` 
+2

我發送到「空」的PHP頁面這將使用'頭球攻門稍稍發回前一頁:;'但是這是沒有意義的笑(「位置」 $ _ SERVER [「HTTP_REFERER」])。 , – AmazingDreams 2013-03-06 14:32:26

+1

使用POST而不是GET,因爲您正在對數據進行一些操作(除了顯示數據) – user1032531 2013-03-06 14:32:48

+0

這不是那種敏感的東西。因此訴諸於$ _GET。 – user2053912 2013-03-06 14:33:39

回答

2

你可以做的刷新,而不提交新的形式:

<form name="refresh" action="" method="post"> 
    <input type="submit" value="Refresh without submitting" /> 
</form> 

或者使用JavaScript來刷新當前按鈕。

<input type="button" value="Refresh without submitting" onclick="location.reload();" /> 

此外,使用action=""代替PHP_SELF

+0

注意到了。謝謝。 – user2053912 2013-03-06 14:56:32