2011-05-05 128 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標記中只使用雙引號是一種很好的做法 - 它看起來像是混合了單引號和雙引號標籤參數。