PHP检查提交的表单

Rob*_*ert 5 php forms submit form-submit

我正在一个网站上工作,我在1页上有2个表格.我使用1个PHP脚本来检查表单.但如果我在页面上提交我的第二个表格,我的网站会提交第一个表格.如何查看提交的表格?

<!--// Form 1-->
<form method="post">

<input type="text" name="test">
<input type="submit" name="submit">
<input type="hidden" name="page_form" value="1">

</form>

<!--// Form 2-->
<form method="post">

<input type="text" name="test">
<input type="submit" name="submit">
<input type="hidden" name="page_form" value="2">

</form>
Run Code Online (Sandbox Code Playgroud)

PHP:

if(isset($_POST['submit'])) {

    $forms = array(1, 2);
    foreach($forms as $form) {

        if($_POST['page_form'] == $form) {
        // All my form validations which are for every form the same.

        }       
    }            
}    
Run Code Online (Sandbox Code Playgroud)

mrf*_*lka 7

怎么做这样:

<!--// Form 1-->
<form method="post">

<input type="text" name="test">
<input type="submit" name="form1" value="Submit form">

</form>

<!--// Form 2-->
<form method="post">

<input type="text" name="test">
<input type="submit" name="form2" value="Submit form">

</form>
Run Code Online (Sandbox Code Playgroud)

并检查提交的表格:

if(isset($_POST["form1"]))
   echo "Form 1 have been submitted";
else if(isset($_POST["form2"]))
   echo "Form 2 have been submitted";
Run Code Online (Sandbox Code Playgroud)


kur*_*eko 0

我不明白你的问题是什么。
虽然有点复杂,但您展示的代码应该可以正常工作。

如果您正在寻找一个更简单的变体,我宁愿这样做:

if(isset($_POST['page_form'])) 
{
    switch ($_POST['page_form'])
    {
    case "1": // form 1 specific handling
        break;
    case "2": // form 2 specific handling
        break;
    default:
        die ("something's not right there");
    }

    // common handling
}
Run Code Online (Sandbox Code Playgroud)

编辑:

试试这个。如果它不起作用我会感到惊讶。

<?php
if(isset($_POST['page_form'])) 
{
    switch ($_POST['page_form'])
    {
    case "1": // form 1 specific handling
        echo "form 1 submitted<br>";
        break;
    case "2": // form 2 specific handling
        echo "form 2 submitted<br>";
       break;
    default:
        die ("something's not right there");
    }

    // common handling
    foreach ($_POST as $var => $val) echo "$var => $val<br>";
}
?>

<form method="post">
<input type="text" name="test">
<input type="submit" name="submit">
<input type="hidden" name="page_form" value="1">
</form>

<form method="post">
<input type="text" name="test">
<input type="submit" name="submit">
<input type="hidden" name="page_form" value="2">
</form>
Run Code Online (Sandbox Code Playgroud)

现在,如果您不想对不同的表单进行特殊处理,只需执行以下操作:

<?php
if(isset($_POST['page_form'])) 
{   
    // common handling
    foreach ($_POST as $var => $val) echo "$var => $val<br>";
}
?>
Run Code Online (Sandbox Code Playgroud)