2017-02-15 27 views
1

私はlaravel 5.3を使用しています。ユーザーがウェブサイトに参加したときにメッセージを表示したいと思います。私のmain.blade.phpでは、私は、コードLaravelのフラッシュメッセージ5.3

return Redirect::to('/')->with('message','you have singup successfully please login'); 
以下、私が書いたこの目的のために、私のホームページにユーザーをリダイレクトしたい私のコントローラ機能では、私のページ

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

にメッセージを取得するために、次のコードを書きました

私のホームページにはdivがそれぞれのスタイルで表示されていますが、このdivにはメッセージは入っていません。メッセージの1にはこのdivが入ります。 すべてのソリューションまたはチュートリアルが最善の予測です。 よろしくお願いします。

+0

セッション::フラッシュ( 'メッセージ'、 'あなたはログインしてください成功しsingupているが');このようにしてチェックしてください – Sona

+0

私はこのメッセージをユーザーサインアップの後に表示する必要があります。 –

+0

コントローラーでそれが来ることを条件に渡します – Sona

答えて

2

session::has()を使用してください。has関数は、存在するかどうかを確認するだけです。セッションの値を使用するには、session::get()を使用します。

このコードはよくあなたを提供する必要があります

<div class="alert"> {!! Session::get('message') !!} </div>

メッセージは一度しか表示されたい場合は、セッションをフラッシュできます。代わりにRedirect::to('/')->with('x','y'); を使用しての

あなたは Session::flash('message', 'This message will be shown once!');を使用することができますが、あなたがリダイレクトを行う前に、そのコードを追加する必要があります、あなたはもうwith()を必要としません。 Laravelのセッションの詳細については

は、ドキュメントを参照してい:https://laravel.com/docs/5.4/session

+0

ありがとう@Arnoldそれは動作しますが、私はページを更新するまで消えていません。 –

+0

が表示された後にのみ表示されます。 –

+0

もっと正確に言えば、 メッセージのメッセージ期間を設定するにはどうすればいいですか –

1
Try this code: 

    In Controller: 

    if ($x->save()) { 
        return Redirect::route('/')->with('success', 'Added Successfully!!'); 
       } else { 
        return Redirect::route('/')->with('fail', 'Failed'); 
       } 

    View Page: 

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

ありがとう@ソニア私は試してみて、それは完全に機能しています。 –

+0

喜びは私の.. @ Qadeer_Sipra – Sona

+0

私はそれを持っています:) @ソナ –