2016-12-16 3 views
0

Я пытаюсь передать форму. Я использую метод запроса для получения переменных. вот мое лезвие формы:Сообщение laravel не подбирается?

<div class="add_photo"> 
<h1>Add a photo</h1> 
    <form action="{{Route('postPhoto')}}"> 
     <span>Name: </span> 
     <input type="text" name="title"> 
     <span>File: </span> 
     <input type="text" name="file"> 
     <input type="submit" value="Add"> 
     <input type="hidden" name="_token" value="{{ Session::token() }}"> 
    </form> 
</div> 

Маршруты вовлеченные:

Route::get('/admin/gallery', '[email protected]')->name('manageGallery'); 
Route::post('/admin/gallery', '[email protected]')->name('postPhoto'); 

И это мой контроллер для него:

class GalleryController extends Controller 
{ 
    public function manageGallery() { 
     return view('home.manageGallery'); 
    } 

    public function postPhoto(Request $request) { 
     die("works"); 
    } 
} 

Он не бросает ошибку на меня. Он просто ничего не делает. Поэтому мой вопрос: я использую этот метод неправильно или мне нужно что-то еще? Заранее спасибо.

+0

Я не вижу, что вы ожидаете это сделать. Вы пробовали 'dd ($ request)' внутри 'postPhoto()' – Spholt

+0

Я сделал. и он ничего не возвращает. – amberbrew

+0

Я хотел бы видеть, что postPhoto() получает опубликованные переменные. Извините за двойной комментарий. – amberbrew

ответ

0

Во-первых, убедитесь, что форма, которую вы используете, используя правильный метод для маршрута

<div class="add_photo"> 
    <h1>Add a photo</h1> 
    <form action="{{Route('postPhoto')}}" method="post"> 
     <span>Name: </span> 
     <input type="text" name="title"> 
     <span>File: </span> 
     <input type="text" name="file"> 
     <input type="submit" value="Add"> 
     <input type="hidden" name="_token" value="{{ Session::token() }}"> 
    </form> 
</div> 

В контроллере, поместите следующее в postPhoto функции

public function postPhoto(Request $request) 
{ 
    dd($request); 
} 

Теперь вы должны получить a Request вывод объекта на экран при отправке формы

+0

Спасибо. моя фактическая проблема была простой. Я не указал метод. – amberbrew

0

Вы можете использовать Blade Forms в ord эр, чтобы сделать формы более естественным образом для Laravel

{{ Form::open(['route' => '/admin/gallery', 'method' => 'post', 'files' => true]) }} 

    {{ Form::text('title') }} 

    {{ Form::label('title', 'Name :') }} 

    {{ Form::file('file') }} 

    {{ Form::label('file', 'File :') }} 

    {{ Form::submit('Add') }} 

{{ Form::close() }} 

Это уменьшает накладные расходы на добавление маркеров самостоятельно, поскольку он автоматически добавляются при использовании формы фасада.

И затем, в контроллере, вы могли бы сделать что-то подобное для отладки при отправке формы:

<?php 

use Request; /* do not forget this line */ 

class GalleryController extends Controller 
{ 
    public function postPhoto(Request $request) 
    { 
     dd($request->toArray()); 
    } 
} 
+0

tahnks. Мне нужно будет изучить это. – amberbrew

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