http://hi.baidu.com/gksw/blog/item/985d9f51e74a2b2343a75bb1.html你上面的要求直接用Cookie还方便些
解决方案 »
- 为什么我将error_reporting设置为E_ALL & ~E_DEPRECATED但是还有deprecate warning
- 有没有made in china的编辑器?
- 请问php当中有没有这样的现成函数?
- 各位高手,帮忙看下写入sql时的错误,谢谢 ---各位老大哥来看看
- 求一段通过后台上传或者是添加图片的PHP代码!
- php初学者问题
- mysql中的一个表有122,210 条记录,在运行mysql时,mysql占用了很多的cpu资源
- 大家接招了!!我要在雙擊時不選中文本,在鼠標移到上面時變為手形鼠標。單擊<a>的連接時,實際不連接任何頁面!!!
- phpmyadmin安装使用问题?(一个快对失去信心的人)求救!!
- 谁有用与显示树形目录的类?
- 請問如何設定frontpage可以直接兼容編輯php程序﹖
- 做个这样的站得多少钱啊
error_reporting(0);//设置不显示错误
session_save_path("./session");//设置SESSION目录
session_start();
if($already_logon==true)//判断是否已经登录
{
$abc=time() - $_SESSION['logon_time'];//减去登录时间
if($abc>30)//如果大于30秒,则
{
session_destory();//清空SESSION
}
}
elseif($logon_off==true)//判断是否要退出
{
session_destory();//清空SESSION
}
else
{
if($logon_on == true)//判断是否登录成功,具体楼主自己写
{
$_SESSION['logon_time']=time();//记录登录时间
}
}
session.save_path = d:\web\session;允许使用cookie文件传递session参数
session.use_cookies = 1; Lifetime in seconds of cookie or, if 0, until browser is restarted.
;关闭浏览器后session过期
session.cookie_lifetime = 0; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
;session最长过期时间,如果超过1800秒后还没有关闭浏览器,session也过期
session.gc_maxlifetime = 1800
我跳转至在b页面获取值session时.session值没有了.我用了global $_SESSION;加载进来了.按道理应该保存了.为什么没有了呢????
我程序是class cls_dispose
{
//用户登陆
public function login($userName, $passWord)
{
//验证代码省略
$this->setSession($userName);
return true;
}/**
* 方法:设置在线Session
* @userName -- 用户姓名
*/
private function setSession($userName)
{
global $_SESSION;
$_SESSION["cname"] = $userName;
}
/**
* 方法:检测用户是否登陆
*/
public function isLogin()
{
global $_SESSION;
if (!isset($_SESSION["cname"]))
{
return false;
}
else
{
return $_SESSION["cname"];
}
}
}
$test = new cls_dispose();if ($test->login('lulu','123456'))
{
echo "登陆成功";
if (empty($test->isLogin()))
{
echo "有用户session";
}
else
{
echo "无用户session";
}
}
* 方法:检测用户是否登陆
*/
public function isLogin()
{
global $_SESSION;
if (!isset($_SESSION["cname"]))
{
return false;
}
else
{
return $_SESSION["cname"];
}
}这里错了,你把if (!isset($_SESSION["cname"]))写错了,导致如果用户登陆你就说没登陆,把代码改为:/**
* 方法:检测用户是否登陆
*/
public function isLogin()
{
global $_SESSION;
if (isset($_SESSION["cname"]))//去掉叹号
{
return false;
}
else
{
return $_SESSION["cname"];
}
}
{
global $_SESSION;
//不存在返回false
if (!isset($_SESSION["cname"]))
{
return false;
}
else
{
return $_SESSION["cname"];
}
}
}$test = new cls_dispose(); if ($test->login('lulu','123456'))
{
echo "登陆成功";
//如果为false,返回TRUE
if (empty($test->isLogin()))
{
echo "有用户session";
}
else
{
echo "无用户session";
}
} ===========================================
所以你是错误的,呵呵.private function setSession($userName)
{
global $_SESSION;
$_SESSION["cname"] = $userName;
}
=============================================
session是全局变量,不需要global