php的 session cookie的过期时间到底怎么设置才是对的???
session_start();$lifeTime=600;session_set_cookie_params($lifeTime);以上是设置的session,600秒...
session_start();
$lifeTime = 600;
session_set_cookie_params($lifeTime);
以上是设置的session,600秒。
setcookie("user", "$id", time()+600);
以上是设置的cookie,600秒。
可是总是几分钟内,就断开了,需要重新登录!这个时间我至今也没算
清楚!
function chkshu(){
if(!$_COOKIE[user]){
msg2("对不起,请先登录!或者你已超时,请重新登
录!","logout.php");
exit;}
}
这是检测的。session就换成
function chkshu(){
if(!$_SESSION[id]){
msg2("对不起,请先登录!或者你已超时,请重新登
录!","logout.php");
exit;}
}
诸位,帮忙好好看看。 展开
$lifeTime = 600;
session_set_cookie_params($lifeTime);
以上是设置的session,600秒。
setcookie("user", "$id", time()+600);
以上是设置的cookie,600秒。
可是总是几分钟内,就断开了,需要重新登录!这个时间我至今也没算
清楚!
function chkshu(){
if(!$_COOKIE[user]){
msg2("对不起,请先登录!或者你已超时,请重新登
录!","logout.php");
exit;}
}
这是检测的。session就换成
function chkshu(){
if(!$_SESSION[id]){
msg2("对不起,请先登录!或者你已超时,请重新登
录!","logout.php");
exit;}
}
诸位,帮忙好好看看。 展开
5个回答
展开全部
setcookie("user",$id,time()+600);是正确的,看你的代码估计有2个地方可能造成此问题。
1.使用cookie或session变量,变量名应当包含在双引号内:
if(!isset($_cookie["user"])||empty($_cookie["user"])){}
2.不知道你setcookie这段代码是不是在根目录下,setcookie默认cookie在当前目录下有效,超出当前目录无效,如果不是根目录下,可以加上cookie的有效路径
例如,你的登陆程序是在/Usercenter目录下,则需要设置cookie的有效路径
setcookie("user","$id",time()+600,"/");
你试试看,希望对你有帮助
另外,你检查下是不是每个页面都加session_start()方法了
1.使用cookie或session变量,变量名应当包含在双引号内:
if(!isset($_cookie["user"])||empty($_cookie["user"])){}
2.不知道你setcookie这段代码是不是在根目录下,setcookie默认cookie在当前目录下有效,超出当前目录无效,如果不是根目录下,可以加上cookie的有效路径
例如,你的登陆程序是在/Usercenter目录下,则需要设置cookie的有效路径
setcookie("user","$id",time()+600,"/");
你试试看,希望对你有帮助
另外,你检查下是不是每个页面都加session_start()方法了
更多追问追答
追问
cookie加了“/”之后,OK了,我专门用秒表测试了,那session怎么弄?肯定要每个页面都加了session_start()。
追答
session不用设置过期时间,默认浏览器关闭时过期。在默认值时间范围内没有任何操作则过期,如果需要修改此默认值,则需要修改PHP.ini文件
session.gc_maxlifetime = 秒
然后,重启你的web服务(一般是apache)就可以了
展开全部
setcookie("user", "$id", time()+600);第三个参数是不用time()的,是直接写时间戳的,例如,一天的话就是 24 * 60 * 60 的值,其他的类似!
追问
setcookie("user", "$id", time()+600);是对的
cookie加了“/”之后,OK了,我专门用秒表测试了,那session怎么弄?肯定要每个页面都加了session_start()。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
session_set_cookie_params($lifeTime);也是设置cookie的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
600秒本来也就10分钟啊
setcookie("user", "$id", time()+600,"/"); 你设置下全部目录下 试试
setcookie("user", "$id", time()+600,"/"); 你设置下全部目录下 试试
追问
cookie加了“/”之后,OK了,我专门用秒表测试了,那session怎么弄?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php.ini -> session.gc_maxlifetime = 86400
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询