2015-05-24 3 views
1

У меня есть html-страница с несколькими формами на ней. Я создал пример здесь: http://jsfiddle.net/nteuscher/ht7334p6/

<table border="2"> 
<tr> 
    <form action="" method="post"> 
<td colspan="7" align="left"><input type="hidden" 
     name="action" value="Edit"> 
<input type="submit" value="Edit Profile"> 
    </td> 
    </form> 
</tr> 
<tr> 
<form action="" method="post" enctype="multipart/form-data"> 
<td> 
    <div class="upload"> 
    <label for="upload">File: <input type="file" 
      id="upload" name="upload"></label> 
    </div> 
    <div class="upload"> 
    <input type="hidden" name="uploadaction" value="ypt"> 
    <input type="submit" value="Upload"> 
    </div> 
</td> 
</form> 
</tr> 
</table> 

Когда у меня есть 2 разные формы на странице, то переменная $ _FILES является пустым, когда кто-то нажимает на кнопку «Загрузить». Если на странице есть только форма загрузки файла, переменная $ _FILES работает так, как ожидалось, и содержит всю необходимую информацию. Я проверил это, выполнив var_dump ($ _ FILES) с помощью моего файла php-контроллера.

Я проверил файл php.ini, чтобы убедиться, что загружаемые файлы работают, и я, как отмечено, удаляет все формы, кроме одного для загрузки файлов, тогда все работает так, как ожидалось.

Любые предложения по управлению этим? Я мог бы создать отдельную страницу, но я бы предпочел разрешить загрузку непосредственно с этой страницы.

+0

Код, кажется, работает нормально. Возможно, что-то очищает $ _FILES, прежде чем вы его покажете. –

+0

добавьте имена в вводы отправки, а затем в файл обработки добавьте 'var_dump ($ _ POST)', чтобы убедиться, что форма отправки - та, которая была отправлена. – Fadey

+0

Два подчинения обрабатываются по-разному контроллером, и я получаю следующее, когда я делаю var_dump ($ _ FILES); var_dump ($ _ POST): массив (0) {} массив (4) {["upload"] => строка (20) "2013AM_500x150R2.jpg" ["uploadaction"] => string (3) "ypt" [ "id"] => string (2) "28" ["name"] => string (14) "Counselor-John"} Итак, подача работает исправно, но $ _FILES пуст ... Я думаю Михал на что-то ... теперь мне просто нужно отследить, где $ _FILES может быть очищено. – LearnPKPD

ответ

0

Я нашел проблему. У меня было плохое форматирование html на странице с другим <form> без закрытия </form>. Это заставило эту форму не подчиняться должным образом. Спасибо всем за помощь!

Смежные вопросы