如何使用一个PHP脚本处理多个表单

Jay*_*oke 0 html php forms submit

我有多个表单,我有一个PHP脚本,我想用来处理这些表单,但当我点击提交任何表单...脚本由表单的数量与名为'submitForm'的提交按钮处理在这种情况下,警报将显示3次而不是一次!我做得不对劲?

NB.我希望这有道理吗?

HTML代码

<form action="" name="form1" method="post">
<input type="text" value="" />
<input type="text" value="" />
<input type="text" value="" />
<input type="text" value="" />
<input type="Submit" value="Submit Form" name="submitForm" />
</form>

<form action="" name="form2" method="post">
<input type="text" value="" />
<input type="text" value="" />
<input type="text" value="" />
<input type="text" value="" />
<input type="Submit" value="Submit Form" name="submitForm" />
</form>

<form action="" name="form3" method="post">
<input type="text" value="" />
<input type="text" value="" />
<input type="text" value="" />
<input type="text" value="" />
<input type="Submit" value="Submit Form" name="submitForm" />
</form>
Run Code Online (Sandbox Code Playgroud)

PHP脚本

<?php 
     if (isset($_POST['submitForm'])) { 

     echo('<script>alert("Form Submitted")</script>');

     }
?>
Run Code Online (Sandbox Code Playgroud)

You*_*nse 8

当我点击提交任何特定表格时,它会提交所有表格.

这不是真的.
一旦表单格式正确,您的浏览器将只提交当前格式.
(和PHP无关)

但是,如果你的意思是,整个页面将被重新加载.这没关系 - 当您提交表单时,页面会重新加载.如果您需要其他行为,您必须解释您的愿望.

另请注意,没有任何文本字段发送到服务器,因为它们没有名称.

我想我应该问的问题是,如何将特定的表单传递给php,而不是编写多个php脚本来处理每个表单!

好吧,似乎你想问一下如何区分这些形式.

在每个中添加隐藏字段

<input type="hidden" name="step" value="1" />
Run Code Online (Sandbox Code Playgroud)

然后在PHP中

if ($_POST['step'] == 1) {
  //first form
}
if ($_POST['step'] == 2) {
  //second
}
Run Code Online (Sandbox Code Playgroud)