我根据条件提交了两种表格。
我用过
if(empty($_POST) === false)
在编辑后保存数据。但是我第一次遇到了这种导致错误的情况。
我需要做什么才能在页面上容纳两个表单。???
答案 0 :(得分:0)
在每个表单中添加隐藏字段...
<input type="hidden" name="do" value="edit" />
以另一种形式:
<input type="hidden" name="do" value="new" />
然后检查$_POST
是否有特定值:
if (isset($_POST['do'])) {
// a form was posted
if ($_POST['do']=='edit') {
// do sth with form 'edit'
elseif ($_POST['do']=='new') {
// do sth with form 'new'
} // if $_P
} // if isset
答案 1 :(得分:0)
我建议您使用RESTful方法解决此问题。您可以检查请求方法是POST
(新)还是PUT
(编辑)并处理它。
例如,如果您有两个表单,一个用于编辑,另一个用于创建项目,则可以使用以下方法将方法设置为其中一个:
<form method="PUT" ...>
<form method="POST"...>
并通过以下方式检索方法:
$_SERVER['REQUESTED_METHOD'];
因此将它们分开。