###前提・実現したいこと
フラッシュメッセージを該当ページのみ表示したい。
###ソースコード
全ページで下記のようにフラッシュメッセージを表示できるレイアウトを使用しております。
html
1{{-- layout.blade.php --}} 2 3 4<!DOCTYPE HTML> 5<html lang="ja"> 6<head> 7 <meta charset="UTF-8"> 8 <title>Test Title</title> 9 10 {{-- CSS --}} 11 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 12 <link rel="stylesheet" href="{{ asset('/css/bootstrap-datepicker3.min.css') }}"> 13 14</head> 15<body> 16 @include('navbar') 17 18 <div class="container"> 19 @if (Session::has('flash_message')) 20 <div class="alert alert-success">{{ Session::get('flash_message') }}</div> 21 @endif 22 23 @yield('content') 24 </div> 25 26 {{-- 中略~ --}} 27</body> 28</html> 29
メッセージ出力の場所
PHP
1 2class TestController extends Controller 3{ 4 // ~中略~ 5 public function store(Request $request) 6 { 7 // ~中略~ 8 9 try { 10 DB::beginTransaction(); 11 // DB登録実施 12 DB::table('test_tables')->insert($test_tables); 13 // コミット 14 DB::commit(); 15 // 完了メッセージをフラッシュ 16 \Session::flash('flash_message', '試合結果を '.$target_cnt.'件 登録しました。'); 17 18 } catch ( \Exception $e) { 19 // ~中略~ 20 } 21 22 // ~中略~ 23 return view('test.teststore'); 24 } 25} 26
念のためセッション内容も記載しておきます。(内容はデフォルトのまま)
PHP
1// config\session.php 2 3<?php 4 5return [ 6 'driver' => env('SESSION_DRIVER', 'file'), 7 'lifetime' => 120, 8 'expire_on_close' => false, 9 'encrypt' => false, 10 'files' => storage_path('framework/sessions'), 11 'connection' => null, 12 'lottery' => [2, 100], 13 'cookie' => 'laravel_session', 14 'path' => '/', 15 'domain' => null, 16 'secure' => false, 17];
###発生している問題・エラーメッセージ
メッセージが表示されるものの、
表示後に別のページに遷移してもそのメッセージが表示されたままになる。
※そのあと再度別のページに遷移するとメッセージが消えます。
1)処理後の該当ページ → メッセージ表示
2)別ページ遷移 → メッセージ表示
3)さらに別ページ遷移 → メッセージ非表示
何かほかに提示すべき内容がございましたらご指摘願います。
どなたか、お力添え頂ければ幸いです
###補足情報(言語/FW/ツール等のバージョンなど)
・XAMPP
・Laravel 5.2.7
・PHP 7.0.1

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/12 17:09 編集