我在同一页面上有两个表单,每个表单都有不同的字段和不同的提交按钮名称。
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行
我怎样才能做到这一点?
答案 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"; }?>