PHP如果存在名为post_name的表单,则不以表单形式输入

时间:2018-04-19 14:33:06

标签: php html

在PHP中,您可以像下面这样定义输入的名称:if (isset($_POST['name'])) {},但我的问题是如何准确定义此帖子(<form method='post' action='action.php'>存在此名称(name='post_name')。< / p>

所以整个HTML都是这样的:

<form method='post' name='post_name' action='action.php'><input name='name' /></form>

我正在努力实现这一目标,因为我的页面上有更多表单,而我想完全使用这个表单。我理论上可以更改action='',但我想将它放在同一个文件中或执行此操作:if (isset($_post_name)) {},但它不起作用。

2 个答案:

答案 0 :(得分:2)

要识别每个提交的表单,您可以使用:

  • 作为隐藏输入字段。
  • 设置提交按钮的名称或值。

    <form name="myform" method="post" action="" enctype="multipart/form-data">
    <input type="hidden" name="frmname" value=""/>
    </form>
    

答案 1 :(得分:1)

您可以使用GET参数使用相同的操作文件。您可以通过以下方式更改操作,而不是命名表单元素本身:

<form method='post' action='action.php?formname=form1'>...</form>
<form method='post' action='action.php?formname=form2'>...</form>

然后在php:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if ($_GET['formname'] == 'form1') {
        //stuff
    } 
    else if($_GET['formname'] == 'form2' {
        //other stuff
    }
}

或者您可以简单地添加一个隐藏的输入元素来定义发布的表单。