获取发送的参数数量

时间:2018-10-24 11:50:51

标签: php html

我的php文件将采用以下两种形式之一。一个包含2个输入,另一个包含1个输入。有没有一种方法可以根据发送的参数数量来获取提交的两者之一?

    <form action="a.php" method="post">
    <input type="text" name="firstA" />
    <input type="text" name="secondA" />
    <input type="submit" name="submitbutton" />
    </form>

    <form action="a.php" method="post">
    <input type="text" name="B" />
    <input type="submit" name="submitbutton" />
    </form>



<?php
  $number = "number of arguments" 
?>

3 个答案:

答案 0 :(得分:3)

我建议您为此目的使用hidden输入,例如:

<form action="a.php" method="post">
  <input type="text" name="firstA" />
  <input type="text" name="secondA" />
  <input type="submit" name="submitbutton" />
  <input type="hidden" name="formName" value="formA" />
</form>

<form action="a.php" method="post">
  <input type="text" name="B" />
  <input type="submit" name="submitbutton" />
  <input type="hidden" name="formName" value="formB" />
</form>

您的php代码将如下所示:

if ($_POST['formName'] === 'formA') { handleFormA(); }
if ($_POST['formName'] === 'formB') { handleFormB(); }

但是,如果您希望依靠参数数量,可以执行以下操作:

if (count($_POST[]) === 3) { handleFormA(); }
if (count($_POST[]) === 1) { handleFormB(); }

答案 1 :(得分:1)

那是决定已过帐哪个表格的非常危险的方式。如果在3个月内您请求将另一个字段添加到包含2个字段的表单中,该怎么办?然后它们都具有3个字段。

您需要做的就是给每个表单上的按钮一个这样的唯一名称

<form action="a.php" method="post">
    <input type="text" name="firstA" />
    <input type="text" name="secondA" />
    <input type="submit" name="submitbutton1" />
</form>

<form action="a.php" method="post">
    <input type="text" name="B" />
    <input type="submit" name="submitbutton2" />
</form>

现在在您的PHP中,您可以检查按钮的存在,您将知道您正在处理哪种形式

<?php

    if ( isset($_POST['submitbutton1']) ) {
        // I am processing form 1
    }

    if ( isset($_POST['submitbutton2']) ) {
        // I am processing form 2
    }

答案 2 :(得分:0)

您也可以尝试:

Old `array1` object ID: 47770072262024
Old `array2` object ID: 47770072263816
New `array1` object ID: 47770072263944
New `array2` object ID: 47770072264008
[1, 8]

您不需要检查隐藏的输入值,可以按如下输入名称进行检查:

<form action="a.php" method="post">
  <input type="text" name="firstA" />
  <input type="text" name="secondA" />
  <input type="submit" name="submitbutton" />
  <input type="hidden" name="formAinputname" value="formA" />
</form>

<form action="a.php" method="post">
  <input type="text" name="B" />
  <input type="submit" name="submitbutton" />
  <input type="hidden" name="formBinputname" value="formB" />
</form>