Отправка формы по методу Пост-проблема - PullRequest
0 голосов
/ 05 мая 2011

У меня есть класс контроллера, который находится в каталоге modules / moduleName / classes / controller / admin /. В этом классе у меня есть две процедуры. a) action_index b) uploadZip

У меня есть один файл для пользовательского интерфейса в modules / views / 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. Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Это проблема Кохана, а не проблема HTML, PHP. Ваш код работает без Kohana.

Итак, я предполагаю, что у вас есть код, отфильтровывающий ваши переменные $ _POST и $ _FILES перед проверкой их. Попробуйте переместить операторы print_r () в самую верхнюю часть страницы uploadZip.

Также из Руководства пользователя Kohana :

Объект Validate удалит все поля из массива, которые не были специально названы меткой, фильтром, правилом или обратным вызовом. Это предотвращает доступ к полям, которые не были проверены в качестве меры безопасности.

Так что я предполагаю, что вы включаете код, удаляющий эти поля, поскольку вы не указали их специально.

Наконец, в HTML-тегах рекомендуется использовать только двойные кавычки - похоже, у вас есть смесь как тегов с одинарными, так и с двойными кавычками.

0 голосов
/ 05 мая 2011

Кажется, хорошо. Проверьте вывод HTML в вашем браузере, может быть, у вас есть вложенные формы (что запрещено)?

...