我希望我的問題很清楚並且有答案。這是我的提交按鈕(不是真實代碼):如何在PHP的下一頁獲取(提交按鈕的名稱)?
while... input type=submit name=$row['ID']
當我點擊提交按鈕時,我需要在下一頁獲取它的名字。怎麼樣?
我有不同的提交按鈕,我不知道用戶是否選擇第一,第二,第三或x
按鈕。
我希望我的問題很清楚並且有答案。這是我的提交按鈕(不是真實代碼):如何在PHP的下一頁獲取(提交按鈕的名稱)?
while... input type=submit name=$row['ID']
當我點擊提交按鈕時,我需要在下一頁獲取它的名字。怎麼樣?
我有不同的提交按鈕,我不知道用戶是否選擇第一,第二,第三或x
按鈕。
而不是分配一個id到按鈕名稱,使用查詢字符串並提交到your_script.php?id=$row['ID']
。然後在下一頁使用$_GET['id']
獲取按鈕名稱。
對不起mr.matino ..我認爲你的解決方案會幫助我,但我可以有同樣的例子:選擇一(1)本書(2)asp書(3)jsp書。當用戶點擊php書進入下一頁與php書的ID。選擇顯示爲鏈接或按鈕不是另一個。非常感謝你。 – user1085733
如果提交按鈕是包含值的表單的一部分,則可以在下一頁的$ _POST或$ _GET數據數組中訪問它。如果您的腳本不知道提交按鈕的名稱,請循環訪問postdata以查找它。
謝謝你mr.zumi。 :) – user1085733
如果你不想改變你的應用程序的設計,你可以做簡單的
foreach ($yourids_used_in_prev_page as $id)
{
if (isset($_POST[$id])) // or $_GET if your form method="get"
{
// and you are get it!
}
}
這不是一個漂亮的解決方案,但可能適合你
謝謝你先生serdyuk。 – user1085733
編輯:matino's answer是比較合適的如果它符合你的用例。
如果我理解正確的話,你想/提交下列表格後檢查「the_name」的存在:
<form method="post">
<input name="the_name" type="submit">
</form>
現在,所有POST'ed數據在PHP的超全局$_POST
可用但是PHP無法知道哪部分數據是提交按鈕。
周圍有此兩種可能的途徑:
isset($_POST['the_name'])
檢查它的存在 - 這會告訴你,如果用戶通過點擊the_name
提交按鈕提交表單(然而,如果命中enter
,該變量將不存在)。submit[the_name]
來使用下標 - 這樣您可以通過查看array_keys($_POST['submit'])[0]
找到按下的提交按鈕的名稱。我即將發佈您的第二個解決方案。 – Mike
非常感謝你mr.connec – user1085733
根據您的評論,您實際上需要確定是否按下了按鈕。檢查下面的例子。
下面是一個簡單的形式與用戶名輸入和三個按鈕,該用戶名進行的各種動作:
<form action="next_page.php" method="post">
<input type="text" name="myname" />
<input type="submit" name="get_myname" value="Give my name back" />
<input type="submit" name="rand_name" value="I will give you some name" />
<input type="submit" name="color_name" value="Your name as a rainbow" />
</form>
一旦submit
一個按鈕被按下時,我們去next_page.php並檢查它是哪一個,並基於此執行操作。
<?php
//this is next_page.php
if (isset($_POST['get_myname'])) {
//echo user's name to screen
} elseif (isset($_POST['rand_name'])) {
//echo a random name
} elseif (isset($_POST['color_name'])) {
//change every letter to a different colour
} else {
//nothing to do here, just nice to have a comment letting you know
}
?>
謝謝你mr.MattCan,當我知道按鈕的名字時,你的例子是真的,但在我的問題中,我不知道從數據庫中得到的名字是作爲提交按鈕!所以我需要什麼?在下一頁獲取submited按鈕的名稱。再次感謝你,總是:)。 – user1085733
使用會話或表單在表單中傳遞數據。如何顯示你的真實代碼? – Drewdin
如果你var_dump $ _REQUEST,你會看到那裏的信息。 – Nightwolf
提交表單後,只能從下一頁的GET/POST獲取數據,服務器沒有處理表單的元素類型。 – mahadeb