可以设置:
session.cookie_lifetime = 0
为永远存活.
改为:
session.cookie_lifetime = 100
//这样浏览器关闭以后,session还可以存活100秒。当然还要依赖下面的选项session.gc_maxlifetime = 1440
这个是设置session多长时间没有使用以后,php就会删除它。单位都是秒
session.cookie_lifetime = 0
为永远存活.
改为:
session.cookie_lifetime = 100
//这样浏览器关闭以后,session还可以存活100秒。当然还要依赖下面的选项session.gc_maxlifetime = 1440
这个是设置session多长时间没有使用以后,php就会删除它。单位都是秒
路径
在phpinfo();
都可以找到的.
但是你还没有明我的意思.
我是想在程序当中用函来实现这些:
不知可不可以,或者是否有这样的函数.
我看到这个函数:
session_set_cookie_params(int lifetime [, string path [, string domain [, bool secure]]])
可以设置session的存活时间,
但具体怎么用,我还是不蛮清楚,
那位能给个实例看一下;
还有那个session的存放路径.
我是想知道怎么在程序里面用具体的函数来设,
而不是在php.ini文件里面来设,
难道session.cookie_lifetime 这些东东可以直接放在程序里面来设吗?
我看了一些资料用这个是对的.你要是的存活时间和路径.
那么就是
session_set_cookie_params(int lifetime [, string path ]);
这些的设置是临时的,到脚本执行结束为止.不会改变php.ini的设置.
时间上好象是以秒为单位.如果为0则为无限存活.路径可有可无.是存你的session存放路径的.试试看吧.
session_register('cookiemname');
session_register('cookiempsw');
session_set_cookie_params(time()+1 [, '../recycle/']);
$cookiemname="username";
$cookiempsw="password";
不行呀,wait!
改成session_set_cookie_params(time()+1 , '../recycle/');
那个[是代表这个是可选项在应用中不能用的.再试试看.
print session_set_cookie_params('100','../recycle/');//设置存活时间与路径.
print "<BR>";
print $aa=session_get_cookie_params();
print "<BR>";
foreach($aa as $key=>$val) {
print $key.'=>'.$val;
print "<BR>";
}
?>
作用:
取得当前 session所用的cookie的变量.
但是没有效果
我把我的部题具体给你说一下吧:
主页面index.php中require"function.php";
index中有个登录框name,psw
而它的处理函数在function.php中定义,
当检查到符合条件时就
session_register('cookiemname');
session_register('cookiempsw');
session_set_cookie_params(time()+1 , 'recycle/']);
$cookiemname=$name;
$cookiempsw=$psw;
echo "登录成功!";
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=index.php'>";
我现在的问题是可以登录成功
就是要用程序来控制它登录时session的时效和路径
这句能不出错吗?奇怪了.
你这里多了一个字符型的空格.和一个]
改后的.
session_set_cookie_params(time()+1 ,'recycle/');
index.php中:
<?
require "function.php";
session_start();
session_set_cookie_params('1' , 'recycle/');
session_get_cookie_params();
$cookie_muser=$HTTP_SESSION_VARS['cookiemname'];
$cookie_mpass=$HTTP_SESSION_VARS['cookiempsw'];
if($load)
ld($mname,$mpsw);
?>
function.php中
<?
function ld($name,$psw)
{
...
如上所述
}
?>
不行
你是修改当时的session设置.可你调用是php.ini里的设置当然没有变化了.
你用我给你的那段程序查看.
<?php
print session_set_cookie_params('100','../recycle/');//设置存活时间与路径.
print "<BR>";
print $aa=session_get_cookie_params();
print "<BR>";
foreach($aa as $key=>$val) {
print $key.'=>'.$val;
print "<BR>";
}
?>
显示时多了这个
Array
lifetime=>100
path=>recycle/
domain=>
但对包含你这段代码的程序一点影响也没有
session还是按php.ini里的设置运行
时效没变,它也没保存在recycle/里面
给你看篇文章不要被气到.
这个文章里说有些版本不支持.
你看看先.
用cookie又不能保证客户端能用
session又有这个鬼毛病
那该怎么办呢
setcookie("PHPSESSID",session_id(),time()+10,"/recycle/","");
试了下
第一次时可以
以后就不行了
不知道为什么
唉
给你分先吧
这个东西真是烦
谢了
要不给我发邮件吧
csdn好像有点慢
[email protected]