2012-04-11 68 views
2

因此,我有一個用戶驅動的網站。用戶可以張貼任何他們想要的東西,甚至是照片。現在,我使用PHP將這些帖子存儲在我的數據庫表以及PHP和MySQL中,以檢索每個用戶個人資料中顯示的帖子。現在,我想讓用戶能夠刪除他們上傳的帖子,並且我想使用$ _POST來完成它,而不是$ _GET。我已經知道如何用$ _GET做到這一點。我怎樣才能使用$ _POST?我是否可以在每個用戶帖子旁邊都有一個隱藏的表單域,並有一個隱藏的域來保存post_id,當用戶點擊「刪除帖子」提交按鈕時,它會調用delete post.php腳本?這是通過隱藏的表單域來實現的好方法嗎?

+0

是的,這幾乎是通過隱藏的表單字段來做到這一點。一定要檢查刪除腳本中被刪除對象的所有權,以確保任何用戶不能刪除任何其他用戶。 – 2012-04-11 15:31:32

+1

是的,這是一個好方法。 – Jon 2012-04-11 15:31:35

+1

你正在嘗試構建一個REST接口嗎?如果是的話,你應該使用DELETE,如果沒有,爲什麼不傳遞一個URL參數並使用'$ _GET'?除了使用隱藏的表單字段外,您還可以使用JavaScript執行POST請求。 – 2012-04-11 15:33:41

回答

2

你只設置你的formmethod等於post,那麼,有某種hiddeninput,與ID刪除的value

然後,在PHP中,使用$_POST而不是$_GET訪問。

請務必驗證刪除ID,以便用戶不要僅使用FireBug編輯HTML,等等。

+2

驗證非常重要:不能保證所發佈的數據甚至完全來自您的HTML表單。 – horatio 2012-04-11 15:33:49