2013-01-13 39 views
0

我正在嘗試編寫一個網站的管理面板。我想要編寫的功能很簡單: 將會有一個項目列表,並且在項目名稱旁邊會出現一個名爲'edit'的按鈕。該按鈕將引導用戶到另一個頁面,在那裏他可以編輯該特定項目。區分哪些按鈕具有相同的值被按下

讓我感到困惑的是,我無法確定哪個按鈕被按下,除非我專門檢查了每個按鈕(對不對?)。如果所有按鈕具有相同的名稱和不同的值而不是不同的名稱和相同的值,則會有所幫助。

那麼有沒有一種方法可以實際分辨哪個項目的按鈕被按下?

在此先感謝

+0

你是如何設置的?具有多個「編輯」提交按鈕的表單?或者每個項目都有一個隱藏的值和一個'編輯'提交按鈕? – Jon

+0

您是否試圖找出哪個按鈕是通過按下按鈕上的頁面上的JS按鈕或通過它導致的頁面上的PHP按下的? – Mooseman

+0

我使用PHP從它通向的頁面訪問它。 – STE

回答

1

大多數瀏覽器將發送button元素的value屬性的值:

<button type="submit" name="id" value="123">Edit</button> 

但是如果你需要支持舊版本的IE,你可以使用arraylike名

<input type="submit" name="id[123]" value="Edit" /> 

訪問php:

<?php 

$id = key($_POST['id']); 
+0

第二個想法並不好。當我試圖回顯$ id時,它只會輸出'Array'並且會出現一個php錯誤。 第一個想法完美,我希望我不會有太多麻煩使用它。管理面板僅用於現代瀏覽器,主要用於Chrome和Safari。 – STE

+0

第二種方法,'$ _POST ['id']'是一個數組,這就是爲什麼我也發佈'$ id = key($ _ POST ['id']);'這應該從這個數組中獲得當前鍵。如果你已經使用了'key'函數,並且輸出仍然有數組,那麼你的表單中就會出現一些錯誤(其他元素使用'name = id [123] [123]'?) –

+0

哦,我沒有看到關鍵字()函數:)完美再次感謝! – STE