为什么我不能获得POST值?

时间:2015-03-07 09:58:25

标签: php forms

这是我的表格,动态生成:

<form action='index.php?direction=saveUserPreferences' method='post'>
<label>Office space<input type='checkbox' name='userInterest[]' value='1' id='1'></label>
<label>Grants<input type='checkbox' name='userInterest[]' value='2' id='2' checked></label>
<label>Loans<input type='checkbox' name='userInterest[]' value='3' id='3'></label>
<label>Events<input type='checkbox' name='userInterest[]' value='4' id='4' checked></label>
<label>Connecting<input type='checkbox' name='userInterest[]' value='5' id='5' checked></label>
<label>Office administration<input type='checkbox' name='userInterest[]' value='6' id='6' checked></label>
<label>TAX<input type='checkbox' name='userInterest[]' value='7' id='7' checked></label>
<label>Self employment<input type='checkbox' name='userInterest[]' value='8' id='8' checked></label>
<label>Start up<input type='checkbox' name='userInterest[]' value='9' id='9' checked></label>
<label>Banks<input type='checkbox' name='userInterest[]' value='10' id='10' checked></label>
<input type='text' name='name' id='name'/>
<input type='submit' name='sendData' value='Save'/>

表格指向控制器功能:

   public function saveUserPreferences() {
    var_dump($_POST);

}

我试过检查帖子是否设置等,我无法从帖子中获取数组。

我还有登录表单,指向同一个控制器和另一个功能,它工作正常。所以我知道控制器文件可以并且确实接收帖子值。

但是出于一些奇怪的原因,对于这种特殊的形式,我无法获得任何价值。我已经查找了另一个问题和答案,但无法让这件事工作。我也熟悉: PHP tutorial about the forms

在该解决方案之后,我得到了未识别的索引错误。有什么我想念的吗?

提前感谢任何提示和技巧;)

08 03 2015 嘿,再一次。我不知道这是否有助于某人,我想更新正在发生的事情。如你所知,我将从页面中得不到任何东西,也就是当我在php文件中回显值时,什么都没有。然而,在firebug和chrome开发人员工具中(在网络部分的标题和响应部分中),我能够看到实际的响应。所以我做的是:在数据库中创建一个演示表,并尝试将我应该从表单中看到的值插入到数据库中。奇怪的是,它确实奏效了。所以,不要问我怎么可能,因为我还不知道。所以我决定根据开发人员工具和firebug的响应进行工作。我的数据的当前路径是这样的。 View-&gt; Controller-&gt; Model(将数据发布到数组变量) - &gt; dao class-&gt;数据库。好的,感谢所有观看和评论那个。感谢

1 个答案:

答案 0 :(得分:0)

到达控制器之前是否有重定向? POST数据仅存在于下一个请求中,因此,如果您提交到/redirect.php,将您带到/controller.php,$ _POST将为空。

此外,您的复选框似乎对我不合适。一个普通的复选框是这样的:

<input type="checkbox" name="vehicle" value="Bike"> I have a bike

因此,名称是复选框&#34;关于&#34;的名称,以及它具有唯一值的值。 []仅适用于选择框。