2017-02-15 6 views
1

Я использую laravel 5.3, и я хочу показать сообщение пользователю, когда пользователь поет на сайт. В моем main.blade.php я написал следующий код для получения сообщения на моей страницеFlash Message в Laravel 5.3

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

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

return Redirect::to('/')->with('message','you have singup successfully please login'); 

Теперь на моей домашней странице div идет с соответствующим стилем, но сообщение не приходит в этот div. Вместо сообщения «1» идет в этот div. Любое решение или учебник будут вашим лучшим ожиданием. С уважением

+0

Session :: вспышка; ('сообщение', 'Вы 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

Спасибо @Soniya, я пробовал и отлично работает. –

+0

Удовольствие - это мое .. @ Qadeer_Sipra – Sona

+0

Я оценил его :) @sona –