php 如何判断$_SESSION 是否有值

php 如何判断$_SESSION 是否有值,第1张

需要准备的材料分别是:电脑、php编辑器、浏览器。

1、首先,打开php编辑器,新建php文件,例如:indexphp。

2、在indexphp中,输入代码

if (isset($_SESSION['aa'])) {

echo '有值';

} else {

echo '没有值';

}

3、浏览器运行indexphp页面,此时会打印出$_SESSION['aa']有没有值的判断结果。

你可以在控制器中判断session("user")是否存在,session中存在就给模板传递 user 参数,不存在就不传递 user参数,在模板中,判断$user变量是否存在。
如在Action中
// TP中,session是默认开启的,通过session("sessionName")的方式进行判断,session存在就返回true,反之就返回false
if(session("user")){
$this->assign("user",session("user"));
}
然后在模板中判断
全选复制放进笔记<if condition="isset($user)">
已登录的html code
<else/>
未登录的html
</if>

1session其实就是一个Map,键=值对,通过sessiongetAttribute("name");获得session中设置的参数

2session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?
答:从session不活动的时候开始计算,如果session一直活动,session就总不会过期。
从该Session未被访问,开始计时; 一旦Session被访问,计时清0;

3设置session的失效时间
a)webxml中

Xml代码
<session-config>
<session-timeout>30</session-timeout>
</session-config>
b)在程序中手动设置
sessionsetMaxInactiveInterval(30 60);//设置单位为秒,设置为-1永不过期
c)tomcat也可以修改session过期时间,在serverxml中定义context时采用如下定义:
Xml代码
<Context path="/livsorder" docBase="/home/>在前台判断 Session 中是否有值?题主确定你明白什么是 Session?
Session 是存在服务器端,在前台怎么能取得着?!前台只能取得 Cookies,里面倒是有 SessionID,但只是 Session 的标识符而非真正内容,况且根据服务端不同这个标识符的 Key 可能是 JSESSIONID、ASPNET_SESSIONID、PHPSESSID 甚至可以自定义等等。前台取这玩意儿干嘛?

if(!isset($_SESSION['test'])){//如果不存在 $_SESSION['test']=array();//初始化} else {//如果存在 echo '已存在';}

<%
if(sessiongetAttrubute("username")==null) {
%>>
您尚未登录,<span id="time">3</span秒后跳转到<a href="loginjsp">登录</a>页面
<%
}
%>
js代码:
<script>
var t = documentgetElementById("time")innerHTML;
setInterval("testTime()",1000); //启动1秒定时
function testTime() {
if(t == 0) {
location = "loginjsp";
}else {
t--; // 计数器递减
documentgetElementById("time")innerHTML= t// 显示倒计时
}
</script>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10241640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存