2014-11-25 33 views
1

奇怪的錯誤我在我的頁腳佈局的代碼部分:laravel - 如果/ ELSEIF - 在佈局

@if(isset(Session::get('errormessage')) 
    <div style="background-color:#ff3300; padding:4px; color:white; font-size:80%" {{Session::get('errormessage') }}</div> 

@elseif(isset(Session::get('okmessage')) 
    <div style="background-color:#00ff00; padding:4px; color:white; font-size:80%"> {{ Session::get('okmessage') }}</div> 

@endif 

但這返回HTML這樣的:

<?php if: ?>(isset(Session::get('errormessage')) 

和錯誤:

syntax error, unexpected ':', expecting '('

我該怎麼做?有沒有辦法來解決這個問題?

回答

0
@if(Session::has('errormessage')) 
    <div style="background-color:#ff3300; padding:4px; color:white; font-size:80%" {{Session::get('errormessage') }}</div> 

@elseif(Session::has('okmessage')) 
    <div style="background-color:#00ff00; padding:4px; color:white; font-size:80%"> {{ Session::get('okmessage') }}</div> 

@endif 

代替isset使用Session ::有( '變量')

0

@if(isset(Session::get('errormessage'))

你錯過閉架。

+0

謝謝,但現在我得到錯誤:無法在寫入上下文中使用函數返回值 – 2014-11-25 09:15:03

0

你缺少一個右parenteses。你有三個(但只有兩個)。同樣在您的@elseif

@if(isset(Session::get('errormessage'))) 
    <div style="background-color:#ff3300; padding:4px; color:white; font-size:80%" {{Session::get('errormessage') }}</div> 

@elseif(isset(Session::get('okmessage'))) 
    <div style="background-color:#00ff00; padding:4px; color:white; font-size:80%"> {{ Session::get('okmessage') }}</div> 

@endif 

而且,你不需要在Session::get使用isset。如果您沒有會話變量,您所選的密鑰null將被退回。只需使用@if(Session::get('key'))即可。

Session::get('i-dont-exists'); // returns null