if(empty($ _ POST)=== false)被调用时出错

时间:2013-03-12 22:59:01

标签: php

我根据条件提交了两种表格。

我用过

if(empty($_POST) === false)

在编辑后保存数据。但是我第一次遇到了这种导致错误的情况。

我需要做什么才能在页面上容纳两个表单。???

2 个答案:

答案 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'];

因此将它们分开。