laravel - if / elseif - 布局中的奇怪错误

时间:2014-11-25 08:08:04

标签: php if-statement laravel

我的页脚部分布局了这段代码:

@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'))

和错误:

  

语法错误,意外&#39;:&#39;,期待&#39;(&#39;

我做错了什么?有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

  

@if(isset(会话::得到(&#39; errormessage的&#39;))

你错过了结束括号。

答案 1 :(得分: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 :: has(&#39; variable&#39;)

答案 2 :(得分:0)

你错过了一个闭幕式。您有三个(但只有两个)。您的@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

此外,您不需要在isset上使用Session::get。如果您没有使用所选密钥null的会话变量,则会返回该变量。只需使用@if(Session::get('key'))即可。

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