2012-05-23 46 views
0

我正在研究允許用戶編輯他們提交的表單的工作,並且我有兩個問題。將數據發佈到PHP中的另一個頁面

  1. 說我在頁面viewform.php和編輯窗體的頁面是editform.php。將表單的ID通過url傳遞並使用然後使用GET是安全的。我將驗證試圖訪問它的人editform.php是使用綁定到用戶名的會話ID創建它的人,登錄時設置。

  2. 如果1不是安全的方法,那麼如何才能我將這些數據(使用提交按鈕,我想)從viewform.php到editform.php?

回答

0

當然,$_GET是安全的,只要沒有任何敏感的數據傳輸。 ID是什麼是常用的

0

爲什麼不把提交表單的方法設置爲'POST'。使用「GET」可能會導致某人修改網頁的網址並插入可能對您的網站產生不良影響的數據。

如果使用POST,接收數據時,設置您的變量,例如

$var1 = $_POST['variable1']; 
+0

我知道如何發佈到同一頁面。我在問我如何發佈數據到editform.php來驗證提交它的用戶。 – user1406951

+0

那麼爲什麼不按照Paul所說的那樣發佈id。只是一種更安全的方式發送相同的信息 – fergusonkw

+0

我在問我如何發佈到不同的頁面。我必須輸入它的網址嗎?如果我只是輸入$ var = $ _POST ['var1']是不是隻會發布到我所在的頁面? – user1406951

1

如果我理解你的問題是正確的,你在找什麼是如何保持整個使用形式請求數據?因爲您可以在表單中的action屬性中指定一個提交URL,並且您可以通過Request對象從該URL訪問表單的值。爲了將數據提交到同一頁面,您可以使用$ _SERVER ['PHP_SELF'],它帶有對您所在頁面的引用。因此,要回答你的問題,你的viewform.php將有:

<form action="editform.php"> 
<input type="text" name="inputvariable" /> 
<input type="submit" value="Go" /> 
</form> 

而且在editform.php,您可以通過訪問$ _REQUEST訪問傳遞InputVariable的值 '傳遞InputVariable']

希望這有助於。

+0

我可以使用$ _POST,因爲動作是要編輯form.php,還是我需要使用$ _REQUEST?我明白$ _POST是什麼,但我從來沒有使用過$ _REQUEST,所以我不確定它有什麼不同。謝謝你的幫助! – user1406951

+0

$ _REQUEST包含POST和GET變量。但是,您不能使用$ _POST來訪問輸入變量,因爲表單的默認提交方法是GET。因此,您將能夠通過$ _GET ['inputvariable']訪問輸入變量。或者,推薦的方法是,您可以在表單中指定method =「post」作爲屬性。然後你可以訪問$ _POST ['inputvariable']。 – Prathap

0

您可以將ID保存在$ _SESSION數組中,然後將您從網址獲得的ID與保存在$ _SESSION中的ID匹配。如果它們不匹配,則可以顯示錯誤消息。這會阻止您的網站從行爲不當的方式,如果任何人更改網址。

相關問題