我正在尝试创建表单,在提交时我希望它运行查询。虽然会有多个表单和多个查询。 [因为这将在while循环中。]
if ($_POST['Test']) {
//Query here
}
<form name="Test" method="post">
<input type="submit" name="Test" value="Click here"/>
</form>
所以,如果我这样,它会起作用。虽然它在一个while循环中,取决于页面上有多少,但它不会单独工作。
我尝试在输入名称和$ _POST中添加变量,例如它是如何测试&#34;。$ id。&#34;但它似乎不起作用。这是我的完整代码。
if ($_POST['Test'.$id.'']) {
//Query here
}
<form name="Test'.$id.'" method="post">
<input type="submit" name="Test'.$id.'" value="Click here"/>
</form>
我怎么能这样做?
由于
答案 0 :(得分:1)
我不知道你为什么需要这个,但试着按照自己的意愿制作。
if ($_POST['Test'.$id]) {
//Query here
}
<form name="Test<?php echo $id;?>" method="post" action="">
<input type="submit" name="Test<?php echo $id;?>" value="Click here"/>
</form>
答案 1 :(得分:1)
使用以不同方式命名的提交按钮执行您现在所做的操作是错误的。你永远不会知道你将拥有多少按钮以及下一步该做什么。
我不知道你的多种表格的用途是什么,但我想它们是用于处理一些类似的项目,我想有一些假设的数据库记录。在这种情况下,你应该这样做。
使用相同 input
名称生成所需数量的表单。例如,如果要更新列表中的某些用户名,可以执行以下操作:
<form name="" method="post">
<input type="hidden" name="userid" value="1" />
<input type="text" name="username" value="John" />
<input type="submit" name="Test" value="Click here"/>
</form>
<form name="" method="post">
<input type="hidden" name="userid" value="2" />
<input type="text" name="username" value="Max" />
<input type="submit" name="Test" value="Click here"/>
</form>
<form name="" method="post">
<input type="hidden" name="userid" value="3" />
<input type="text" name="username" value="Sam" />
<input type="submit" name="Test" value="Click here"/>
</form>
请参阅,所有表单都具有相同名称的相同输入。因此,无论您提交哪种表单,您都会使用 3 键将$_POST
作为数组:
userid
username
Test
之后,您只需对所有类似表单使用一个处理程序:
if (isset($_POST['Test'])) {
echo $_POST['userid'],', ',$_POST['username'];
// do other stuff
}
答案 2 :(得分:0)
使用PHP作为模板语言。编写HTML并包含短标签。
你可以用一种形式处理大多数事情。像“name [id]”这样的输入名称将导致PHP数组$_POST['name'] = [ 'id' => 'some_value']
。多个提交按钮可以通过显示<button>
,name
未显示和内部HTML的value
标记来实现。
<?php
if(isset($_POST['which_button']))
echo "Button $_POST[which_button] has been pressed.";
if(isset($_POST['some_choice']))
var_dump($_POST['some_choice']);
$some_field = isset($_POST['some_field']) ? $_POST['some_field'] : '';
$some_data_from_db = 'DUMMY DATA';
?>
<form method="post">
<input name="some_field" type="text" value="<?php echo $some_field?>">
<input name="some_data_from_db" type="text" value="<?php echo $some_data_from_db?>">
<input type="checkbox" name="some_choice[a]">a
<input type="checkbox" name="some_choice[b]">b
<input type="checkbox" name="some_choice[c]">c
<button name="which_button" value="1">Button 1</button>
<button name="which_button" value="2">Button 2</button>
<button name="which_button" value="3">Button 3</button>
</form>