有两个自我提交表格

时间:2012-06-21 14:11:40

标签: php forms

我是否可以在一个页面上有两个自提交表单。如果是,我如何为每个表单分配不同的代码块?

4 个答案:

答案 0 :(得分:1)

隐藏输入有两个不同的值。

<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']区分。

答案 1 :(得分:0)

将您的第一个表单命名为form_one,将第二个表单命名为form_two。

<?php
if (isset($_POST['form_one'])) {
    // First form was submitted
}

if (isset($_POST['form_two'])) {
    // Second form was submitted
}
?>

答案 2 :(得分:0)

可以通过为代码提供不同的名称并保留其目标_blank

,将两个表单放在代码中

答案 3 :(得分:0)

<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部分)。

有人可能会有更好的答案,但这种方法过去对我有好处。