Laravel session flash message include html tag link href blade view

In Laravel you may want to insert html tags like a or strong into the flash message and deliver it to the session as a notification.

Suppose the message you want to show is:

$msg = 'It is done, click here to see the result';

and want to let “click here” accept a link (to the user profile).

Also I suppose you have a route like:

Route::get('user/profile', 'UsersController@show')
->name('user.profile');

It is clear that we should change the message above to include HTML a tag like:

$msg = 'It is done, <a href="'. route('user.profile') . '"> click here  </a>  to see the result';

or

$msg = 'It is done, <a href="'. url('/user/profile') . '"> click here  </a>  to see the result';

and then in the controller return user to the page you want like“ /home” and deliver the message:

return redirect('/home')->withSuccess($msg);

In the blade file you have to check if the session has the tagged message you want. In our case the message has the success status because of withSuccess($msg). So you should put this in Laravel blade view file:

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

Important note 1:

If the message you deliver has html tag you should use:

unescaped variable which is:

{!! session()->get('success')!!}

and NOT escaped variable:

{{ session()->get('success')}}

It means, Where you display the message, use raw tags {!! !!} around the message instead of {{ }} otherwise the link will not be shown properly!

Important note 2:

The benefits of using HTML-encoding {!! !!} ( unescaped variable) is more important whenever you have & in url or the link which blade will auto convert & into &amp;

Important note 3:

Read the security issue here link. It says:

Be very careful when echoing content that is supplied by users of your application. Always use the escaped, double curly brace syntax to prevent XSS attacks when displaying user supplied data.

Thank you for reading! If you enjoyed this article:

Clap it ! Share it! Follow Me in Medium!

Also I’d like to hear your opinion on this article. If you have any doubt, question or suggestion please leave a comment below.

Have a very wonderful day!

Previous Stories You will Love:

Posting daily about Python, Nuclear Physicist PhD

Posting daily about Python, Nuclear Physicist PhD