在login.php中记录用户成功登陆后的cookie值,形如setcookie('name', 'admin');
在其他静态html网页中,我要判断该用户是否已经登录,如果登录,正常浏览网页内容,如果没有登录,就跳转到login中,弹出登陆框,说白了就是就是对某些网页的一种加密,只有特定用户才能浏览。
在需要保密的网页中,我想用js判断用户是否登录,我想用一下代码实现:<script type="text/javascript">
function getCookie(name)
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr != null) return unescape(arr[2]); return null;
}// 判断是否已经登录
if(!getCookie("name"))
{
  location.href="login.php";  
}
</script>以上代码我只是简单的做个测试,getCookie()函数是从网上参考的。
现在问题是:用户没登陆时,会跳到login.php,但是当用户正确登陆后,还是跳条到login.php,与目标相悖,因此我怀疑,js并没有获取名为“name”的cookie值,所以什么情况下都会跳到login,那怎么样才能让js来调用php设置的cookie呢?或者有什么更好的方法来实现上面的功能?

解决方案 »

  1.   

    那只能用ajax了吧,把后台的cookie值取出来,一般的都过这种方法来实现的,像你在要是在客户端取的话也的在客户端存吧!cookie也可以用js设置的!
      

  2.   

    cookie要是用js设置,再用js来读取,是应该没有问题的,但是为什么读不到php设置的cookie呢?难道这个cookie还有什么不一样吗?
      

  3.   

    全部保存英文看能不能读取到,用php保存的cookie和用JavaScript保存的cookie编码不一样。