2016-01-13 3 views
0

EDIT Я не использую контроллер ресурсов, но я полагаю, что мой путь является правильнымLaravel 5 не может захватить формы ввода

У меня есть форма на ней называется recordings У меня есть форма, как:

<form class="form-horizontal" role="form" method="POST" action="{{ url('/recordings/create') }}" enctype="multipart/form-data"> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 

    <div class="form-group"> 
     <label class="col-md-4 control-label">Client Name</label> 
     <div class="col-md-6"> 
      {!! Form::select('ClientName', $client_options, '', array('class' => 'form-control')) !!} 
     </div> 
    </div> 

    <div class="form-group"> 
     <label class="col-md-4 control-label">File</label> 
     <div class="col-md-6"> 
      <input type="file" class="form-control" name="FileUpload"> 
     </div> 
    </div> 


    <div class="form-group"> 
     <div class="col-md-6 col-md-offset-4"> 
      <button type="submit" class="btn btn-primary"> 
       Submit 
      </button> 
     </div> 
    </div> 
</form> 

Тогда в моей RecordingsController

public function store() 
{ 
    var_dump(Input::file('FileUpload')); 
    var_dump(Input::get('ClientName')) ; 
} 

мой маршрут:

Route::get('recordings/create', '[email protected]'); 
Route::post('recordings/create', '[email protected]'); 

Почему это var_dump null? У меня есть раскрывающийся список, в котором есть значения, и я уже выбрал его. Другой - файл ввода, который я также выбрал уже файл.

+0

Странно, но ваше действие формы - это «записи/создание», отображается ли это в RecordingsController @ store? Если вы используете контроллеры ресурсов, вы должны использовать url («записи») для действия формы с методом post. – Iamzozo

+0

@ Iamzozo извините моя ошибка. Не контроллер ресурсов, но мой маршрут правильно настроен, я верю. – jackhammer013

ответ

0

Try:

public function store(Request $request) { 

    $ClientName = $request->ClientName:   

    if ($this->request->hasFile('FileUpload')) 
    { 
     $files = $this->request->file('FileUpload'); 
     .... 

Или просто использовать

dd($request); 

Всегда хорошая идея здесь заключается в использовании Firebug - проверить, какие значения представлены в сценарий.

+0

Пробовал результат, просто запрос {# 199} или объект (Illuminate \ Support \ Facades \ Request) [199] в var_dump – jackhammer013

+0

Итак, вы получаете пустой запрос здесь. Теперь есть несколько способов узнать, что произошло. Лучше всего было бы использовать Firebug (расширение Firefox), чтобы подробно просмотреть ваши запросы. Другая идея состоит в том, чтобы проверить, какой HttpRequester вручную использует ваш метод хранилища (вы можете отправлять значения Post на любой маршрут/скрипт). Идея Ohter заключается в следующем: попробуйте disbale multipart/formdata, чтобы проверить, являются ли какие-либо значения sendet для вашего контроллера. – derdida

0

Работы сейчас. Проблема в том, что я отправляю огромные данные в свой пост. Так что я сделал, изменил post_max_size в моем php.ini. Странно, хотя я не ошибаюсь.

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