2014-01-06 35 views
0

在PHP頁面,我有這個按鈕,我的網頁上隱藏字段:PHP隱藏表單處理爲GET請求

<form action="admin.php"> 
     <input name="action" value="delete" type="hidden"> 
     <input name="id" value="13" type="hidden"> 
     <input value="Delete user" type="submit"> 
</form> 

在頁面admin.php的我有這樣的:

switch ($_POST['action']) 
{ 
    case 'delete' : 
     if ($_SESSION['role'] == 2) 
     { 
      if ($user->deleteUser($_POST['id'])) 
      { 
       $_SESSION['alert'] = "User deleted."; 
       $_SESSION['alert_type'] = "success"; 
      } else 
      { 
       $_SESSION['alert'] = "Something went wrong while deleting the user."; 
       $_SESSION['alert_type'] = "error"; 
      } 
     } else 
     { 
      $_SESSION['alert'] = "You are not allowed to delete a user. You need to be an admin."; 
      $_SESSION['alert_type'] = "error"; 
     } 
     $data = $user->getProfiles(); 
     require 'Views/Admin.view.php'; 

// etc 

正如所料,admin.php會加載一個用戶列表,並在每個用戶旁邊都有一個刪除按鈕。當我按下刪除按鈕時,用戶被刪除,但瀏覽器在地址欄中顯示隱藏字段的參數,就像它是GET請求一樣。

這是怎麼回事?

+0

您的刪除操作按鈕被稱爲「擡高用戶」? –

+0

可憐的複製粘貼,讓我編輯它。 – ohyeah

回答

12

GET是默認的表單動作。如果你想POST必須指定:

<form action="admin.php" method="post"> 
+0

就是這樣。謝謝! – ohyeah