我可以在一页上有两个自我提交的表格吗?如果是,我如何为每个表单分配不同的代码块?
具有两个不同值的隐藏输入。
<form action="" ...>
<input type="hidden" name="form_no" value="0">
...
</form>
<form action="" ...>
<input type="hidden" name="form_no" value="1">
...
</form>
在服务器端,根据$_REQUEST['form_no']
而有所不同
或者您也可以将其添加为提交元素中的名称参数。
<input type="submit" name="form0">
使用isset($_REQUEST['form0'])
进行区分。
另一种方法是附加一个GET参数来区分
<form action="<?php echo $_SERVER['PHP_SELF'];?>?form_no=0" ...>
...
</form>
<form action="<?php echo $_SERVER['PHP_SELF'];?>?form_no=1" ...>
...
</form>
使用$_GET['form_no']
进行区分。
命名你的第一个表单form_one,第二个表单form_two。
<?php
if (isset($_POST['form_one'])) {
// First form was submitted
}
if (isset($_POST['form_two'])) {
// Second form was submitted
}
?>
可以通过为它们提供不同的名称并保持其目标_blank将两种形式放置在代码中
<form action="action.asp" method="get">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
<input type="submit" name="submit1" value="Submit" />
</form>
<form action="action.asp" method="get">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
<input type="submit" name="submit2" value="Submit" />
</form>
<?php
if(isset($_GET['submit1'])){
// first form was submitted
}
if(isset($_GET['submit2'])){
// second form was submitted
}
?>
每个表单都有此示例中指定的不同脚本,但请记住,您可以简单地对两个操作使用相同的 php 文件,为每个表单指定不同的代码块(即上面的 php 部分)。
有人可能有更好的答案,但这种方法在过去对我很有帮助。