PHP表单数据检查提交按钮名称

时间:2018-05-25 11:53:50

标签: php forms post

我在同一页面上有两个表单,每个表单都有不同的字段和不同的提交按钮名称。

server {
  listen 80;
  server_name mysite.com;
  location / {
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  Host       $http_host;
    proxy_pass        http://127.0.0.1:3000;
  }
}
server {
  listen 80;
  server_name api.mysite.com;
  location / {
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  Host       $http_host;
    proxy_pass        http://127.0.0.1:4500;
  }
}

在我的<button type="submit" name="formOne">Submit form</button> <button type="submit" name="formTwo">Submit form</button> 页面上,我想检查点击了哪个提交按钮,然后相应地处理代码。

到目前为止,我所使用的代码适用于单个表单,如下所示;

mailer.php

但是我想我可以添加一个if ($_SERVER["REQUEST_METHOD"] == "POST" ) { // my form 1 data // do stuff } 来检查点击了哪个提交按钮,例如;

if/else

这似乎不起作用。我收到的错误是;

  

注意:未定义的索引:formOnein ...第7行

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

您忘了检查var isset()

if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
    if(isset($_POST['formOne'])){
        // form 1 data
        // my form 1 data
        // do stuff
    }
    if(isset($_POST['formTwo'])){
        // form 2 data
        // my form 2 data
        // do stuff
    }
}

答案 1 :(得分:0)

如果需要,您也可以使用隐藏的输入。你可以像普通的文本输入一样从php访问隐藏的输入。

<form method="GET" action="https://postman-echo.com/get">
    <input type="hidden" name="form" value="one" />
    <button type="submit">Submit form</button>
</form>

答案 2 :(得分:0)

而不是使用

<button type="submit" name="formOne">Submit form</button> <button type="submit" name="formTwo">Submit form</button>

使用

<input type="submit" name="formOne" value="Submit Form"/>
<input type="submit" name="formTwo" value="Submit Form"/>

php代码: -

 <? if(isset($_POST['formOne'])){echo "form One";} elseif(isset($_POST['formTwo'])){echo "form Two"; }?>