下面的代码,24小时后为啥不重置?
我是要求:24小时之内到这页面,如果visits<=3,就显示ok。如果visits>3就显示stop。24小时后重新开始计算visits。
可是24小时之后,一直显示stop。在这24小时之内,多次到这页面访问,也要不影响代码统计:以第一次到这页面开始计算。请高手帮我看看。expdate.setTime(expdate.getTime()+(24*60*60*1000));if(!(visits=GetCookie("visits")))
visits=0;visits++;SetCookie("visits",visits,expdate,"/",null,false);if(visits<=3)
document.write("ok");
if(visits>3)
document.write("stop");
我是要求:24小时之内到这页面,如果visits<=3,就显示ok。如果visits>3就显示stop。24小时后重新开始计算visits。
可是24小时之后,一直显示stop。在这24小时之内,多次到这页面访问,也要不影响代码统计:以第一次到这页面开始计算。请高手帮我看看。expdate.setTime(expdate.getTime()+(24*60*60*1000));if(!(visits=GetCookie("visits")))
visits=0;visits++;SetCookie("visits",visits,expdate,"/",null,false);if(visits<=3)
document.write("ok");
if(visits>3)
document.write("stop");
if(!(visits=GetCookie("visits")))
{
visits=0;visits++;SetCookie("visits",visits,expdate,"/",null,false);
}
SetCookie("visits",visits,expdate,"/",null,false);把这个方法贴出来
var str = objName + "=" + escape(objValue);
var date = new Date();
var ms = 24*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();document.cookie = str;
function www_zhuatu_com(offset)
{
var endstr=document.cookie.indexOf(";",offset);if(endstr==-1)
endstr=document.cookie.length;return unescape(document.cookie.substring(offset,endstr));}
function GetCookie(name)
{
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;while(i<clen)
{
var j=i+alen;
if(document.cookie.substring(i,j)==arg)
return www_zhuatu_com(j);
i=document.cookie.indexOf(" ",i)+1;if(i==0)
break;
}
return null;
}function SetCookie(name,value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(2<argc)?argv[2]:null;
var path=(3<argc)?argv[3]:null;
var domain=(4<argc)?argv[4]:null;
var secure=(5<argc)?argv[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");
}var expdate=new Date();
var visits;if(!(visits=GetCookie("visits"))){
visits=0;
expdate.setTime(expdate.getTime()+(24*60*60*1000));
SetCookie("visits",visits,expdate,"/",null,false);
}visits++;
if(visits<=3)
document.write("ok");
if(visits>3){
document.write("stop");
}
我上面贴的是写 cookie
objName objValue 为 相应的名字以及值
实现方法肯定是用js了.写了一js取cookie 的方法getCookie(name)
通过"
var u = getCookie(name);
if (u) {
x.innerHTML = u;
} else {}方法实现一些信息不同显示
x.innerHTML = u;
目的就是在一处显示u这个cookie得到的信息,问题就出在这里
这个cookie是通过php setcookie设置的,结果js取出的中文是乱码,页面为utf-8
想了几点不是方法,如url编码都不行,最好想到我用js取,那也用js设置cookie不就好了,最好写一js的setCookie 函数
代码大致如下
<?php
setcookie();//一些其它cookie
echo '<script>setCookie ('xxx','中文')</script>';//要js取的cookie
?>
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if(endstr == -1) {
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
}
function getCookie(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
var j = 0;
while(i < clen) {
j = i + alen;
if(document.cookie.substring(i, j) == arg)
return getCookieVal(j);
i = document.cookie.indexOf(" ", i) + 1;
if(i == 0)
break;
}
return null;
}
function deleteCookie(name) {
var exp = new Date();
var cval = getCookie(name);
exp.setTime(exp.getTime() - 1);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var gCookieExpDays = 80;
function setCookie(name, value) {
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var exp = (argc > 2) ? argv[2] : gCookieExpDays;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
var expires = new Date();
deleteCookie(name);
expires.setTime(expires.getTime() + (exp*24*60*60*1000));
document.cookie = name + "=" + value +
"; expires=" + expires.toGMTString() +
((domain == null) ? "" : ("; domain=" + domain)) +
((path == null) ? "" : ("; path=" + path)) +
((secure == true) ? "; secure" : "");
/code]
function SetCookie(name,value)SetCookie("visits",visits,expdate,"/",null,false);应该是这样里有问题 ,cookies的路径不对吧 楼上的高手们给的方法尝试一下