> 백엔드 개발 > PHP 튜토리얼 > Thinkphp模板中怎样判断session是否为空?

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

WBOY
풀어 주다: 2016-06-06 20:20:44
원래의
1642명이 탐색했습니다.

用的是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>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿