最近在写asp登陆页面的时候发现了一些问题!当用用户登陆成功,我想保留用户的登陆状态(我使用的是cookie)。通过设置cookie的Expires属性来保存它的生命周期!我是使用js脚本写的
代码如下:
<
var username=Request.Form("username");//从注册页面获取的信息
Response.cookies("beifeng")("username")=username;
Response.cookies("beifeng")("username").Expires=new Date().getMinutes()+60*24;//在这里我想将cookies保存一天,但是报错,我已经声明,用的是js脚本!
>
报错如下:为“Expires”指定的日期早于 1980 年 1 月 1 日,或晚于 2038 年 1 月19 日,3:14:07 GMT
------解决方案--------------------------------------------------------
这是JS的写法,后台asp怎么写不知道,不过道理是一样的,expires指的是一个日期,不是时长
var d = new Date();
d.setTime(d.getTime() + 24 * 60 * 60);
document.cookie = 'username=lz;expires=' + d.toGMTString();
------解决方案--------------------------------------------------------
/*
*设置Cookie
*
* name:cookie所对应的键
* value:cookie所对应的值
* expires:cookie所对应的有效时间
* path:指定可访问cookie的路径
* domain:指定可访问cookie的主机名
* secure:安全性
*/
function setCookie (name,value,expires,path,domain,secure) {
//cookie键值对
var str = name + "=" + escape(value);
//设置cookie的有效期,以小时为单位
if(expires > 0){
var date = new Date();
var ms = expires * 3600 * 1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
if(path){
str += "; path=" + path;
}
if(domain){
str += "; domain=" + domain;
}
if(secure){
str += "; secure";
}
document.cookie = str;
}
/*
*获得Cookie
*
*cookie_name:cookie的键
*/
function getCookie(cookie_name)
{
var value = null;
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name);
// 如果找到了索引,就代表cookie存在,
// 反之,就说明不存在。
if (cookie_pos != -1)
{
// 把cookie_pos放在值的开始,只要给值加1即可。
cookie_pos += cookie_name.length + 1;
var cookie_end = allcookies.indexOf(";", cookie_pos);