Home >Backend Development >PHP Tutorial >Thinkphp模板中怎样判断session是否为空?

Thinkphp模板中怎样判断session是否为空?

WBOY
WBOYOriginal
2016-06-06 20:20:441642browse

用的是if标签,而不是用empty标签,因为还有else的情况。

<code><if condition="!isset($_SESSION['user'])">
    <li><button><a href="">登 录</a></button></li>
    <li><button><a href="">注 册</a></button></li>
   <else></else>
   <li> <a href="">{$Think.session.user}</a>
</li>
   </if></code>

实测以上这样写的是可以的。
但是,condition部分我试过几种,为什么不可以?
1)
或者
2)
或者
3)
或者
4)

我想知道的是:为什么上面四种方式都不行?
如果我不想用$_SESSION,想用Think.session.user的话,condition部分应该怎样写?

回复内容:

用的是if标签,而不是用empty标签,因为还有else的情况。

<code><if condition="!isset($_SESSION['user'])">
    <li><button><a href="">登 录</a></button></li>
    <li><button><a href="">注 册</a></button></li>
   <else></else>
   <li> <a href="">{$Think.session.user}</a>
</li>
   </if></code>

实测以上这样写的是可以的。
但是,condition部分我试过几种,为什么不可以?
1)
或者
2)
或者
3)
或者
4)

我想知道的是:为什么上面四种方式都不行?
如果我不想用$_SESSION,想用Think.session.user的话,condition部分应该怎样写?

empty也有else得用法啊

可以这样试试:

<code><if condition="$Think.session.user neq null">
   <li> <a href="">{$Think.session.user}</a>
</li>
<else></else>
    <li><button><a href="">登 录</a></button></li>
    <li><button><a href="">注 册</a></button></li>
</if></code>

<if condition="$Think.session.user eq ''"></if>

tp有个empty标签可以判断是否为空

你可以在控制器中判断session("user")是否存在,session中存在就给模板传递 user 参数,不存在就不传递 user参数,在模板中,判断$user变量是否存在。
如在Action中

<code>// TP中,session是默认开启的,通过session("?sessionName")的方式进行判断,session存在就返回true,反之就返回false
if(session("?user")){
    $this->assign("user",session("user"));
}</code>

然后在模板中判断

<code><if condition="isset($user)">
 已登录的html code
<else></else>
未登录的html
</if></code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn