2011-05-05 107 views
0

我有一个控制器类,它位于modules/moduleName/classes/controller/admin /目录中。 在这堂课我有两个例程。一)action_index B)uploadZip通过Post方法提交表单提交问题

我有一个文件UI模块/视图/ uploadfile.php代码是

<form method="post" action='uploadZip' enctype="multipart/form-data"> 
<input type='file' name='file' /> 
<input type="text" name="xyz" value="test data" /> 
<input type='submit' name="upload" value='Upload' /> 
</form> 

我没有得到$ _ POST和$ _FILES数组。如果我将表单方法从“post”更改为“get”,那么我会得到表单数据。我正在使用Kohana框架。请帮助我。

+0

好吧,你必须使用post来实际上传文件,当使用GET时它必须简单地丢失文件信息,但是,你还需要一个输入字段来定义最大文件大小 2011-05-05 09:41:26

+0

我只是检查它的测试目的。即使我已经尝试过使用简单的文本框进行发布方法。它仍然不起作用。 – Nilesh 2011-05-05 09:51:27

+0

你能提供你用来访问发布信息的示例代码吗? – 2011-05-05 09:53:23

回答

0

似乎很好。检查浏览器中的HTML输出,也许你有嵌套表单(这是不允许的)?

+0

我检查过查看源代码,它显示只有那里有一种形式。 – Nilesh 2011-05-05 09:50:36

0

这是一个Kohana问题,而不是HTML,PHP问题。没有Kohana,你的代码工作正常。

所以说,我的猜测是,你有过滤你的$ _POST和$ _FILES变量的代码,然后再检查它们。考虑将你的print_r()语句移动到你的“uploadZip”页面的最顶端。

此外,从Kohana User Guide

的验证对象将删除从已经不被标签,过滤器,规则或回调被特别命名阵列的所有字段。这样可以防止访问尚未验证的字段作为安全防范措施。

所以我的猜测是,您正在删除这些字段的代码,因为您没有专门列出它们。

最后,在HTML标记中只使用双引号是一种很好的做法 - 它看起来像是混合了单引号和双引号标签参数。