2016-01-07 5 views
1

сообщения Session не работает я попробовал этот код и многие исправить доступную онлайн Здесь Ид моего магазина функцию `Laravel сессия Flash Message Не работает

public function store(Request $request) 
    { 
     // dd($request->all()); 
     $this->validate($request, [ 
      'name'  =>'required', 
      'username' =>'required', 
      'email'  =>'required', 
      'address' =>'required', 
      'likes'  =>'required', 
      'gender'  =>'required' 

     ]); 

     $input = $request->all(); 

     Contacts::create($input); 

     Session::put('flash_message', 'Task successfully added!'); 
     return redirect()->back(); 
    } 

И Получения этого кодом

@if(Session::has('flash_message')) 
     <div class="alert alert-success"> 
      {{ Session::get('flash_message') }} 
     </div> 
@endif 
+0

какая версия Laravel 5? – lagbox

ответ

0

есть вы включаете следующее пространство имен

use Session; 

вместо данных мычание код

Session::put('flash_message', 'Task successfully added!'); 

использование

Session::flash('flash_message', 'Task successfully added!'); 

в вместо того, чтобы

return redirect()->back(); 

попробуйте использовать

return redirect()->route('your route'); 
+0

Использование Сессии; уже включен, а Session :: falsh не работает для меня –

+0

вместо возврата redirect() -> back(); не могли бы вы попробовать вернуть redirect() -> route ('ваш маршрут здесь'); я обновил свой ответ –

+0

'redirect() -> route ('your route');' не нужно. 'redirect() -> back();' должен работать абсолютно нормально. –

6

Я Решена проблема с Laravel 5.2.

у меня был маршрут как этот

Route::group(['middleware' => [ 'web','auth']], function() { 
....... 
} 

Так Убраны веб среднего изделия

Route::group(['middleware' => ['auth']], function() { 
....... 
} 

и его начало рабочего

Анализ: По умолчанию Laravel Добавить веб Middleware. проверка по php artisan route: список показывает web, web, auth.

поэтому, определяя его, повторно перенаправляйте два раза для промежуточного программного обеспечения.

+0

Имел ту же проблему. Кто-нибудь знает, где сетевое промежуточное ПО определяется как значение по умолчанию? Что делать, если у меня есть маршрут, где я не хочу использовать промежуточное программное обеспечение Интернета? – mwallisch

+0

Хорошо. Не слишком сложно найти. С «новым» обновлением также появился RouteServiceProvider, где он устанавливается. – mwallisch

2

Я РЕШИМ проблему с laravel 5.2.

У меня были все маршруты внутри этого:

Route::group(['middleware' => 'web'], function() { 

я удалить его, потому что, когда я использовал команду PHP мастеровых маршрута: список в столбце Имя Middleware «паутина» показывает время: Интернет, веб.

Если AUTH заменить:

Route::group(['middleware' => 'auth'], function() { 

Также я удалить дубликат маршрута (в маршрутов .php).Теперь я просто:

Route::resource('/publicaciones', 'PublicacionesController'); 

Мой контроллер:

return redirect()->back()->with('success', 'Saved!'); 

мой взгляд:

@if(Session::has('success')) 
      <div class="alert alert-success"> 
       {{ Session::get('success') }} 
      </div> 
    @endif