我希望我的问题很清楚并有答案。这是我的提交按钮(不是真正的代码):
while... input type=submit name=$row['ID']
当我点击提交按钮时,我需要在下一页中获取其名称。怎么样?
我有不同的提交按钮,我不知道用户是选择了第一个,第二个,第三个还是x
按钮。
答案 0 :(得分:4)
根据您的评论,您实际上需要确定是否按下了按钮。请查看以下示例。
这是一个简单的表单,其中包含用户名输入和三个按钮,可以对该用户名执行各种操作:
<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
}
?>
答案 1 :(得分:2)
如果提交按钮是带有值的表单的一部分,则可以在下一页的$ _POST或$ _GET数据数组中访问它。如果您的脚本不知道提交按钮的名称,请遍历postdata以找到它。
答案 2 :(得分:1)
使用查询字符串并提交到your_script.php?id=$row['ID']
,而不是为按钮名称指定ID。然后在下一页上使用$_GET['id']
获取按钮名称。
答案 3 :(得分:1)
编辑:matino's answer更适合您的用例。
如果我理解正确,您希望在提交以下表格后获取/检查“the_name”的存在:
<form method="post">
<input name="the_name" type="submit">
</form>
现在,所有POST的数据都可以在PHP的$_POST
超全局中使用,但PHP无法知道哪部分数据是提交按钮。
有两种可能的方法:
isset($_POST['the_name'])
检查其存在 - 这会告诉您用户是否通过点击the_name
提交按钮提交了表单(但是,如果点击{{ 1}},变量不存在。)enter
来使用下标 - 这样您可以通过查看submit[the_name]
找到按下的提交按钮的名称答案 4 :(得分:0)
如果您不想更改应用程序设计,只需
即可 foreach ($yourids_used_in_prev_page as $id)
{
if (isset($_POST[$id])) // or $_GET if your form method="get"
{
// and you are get it!
}
}
这不是一个漂亮的解决方案,但可能适合你