最近做了一个网站http://yichao123.com
需要实现csdn的2周不用登录功能,请参看网站(http://yichao123.com),(在此站登录页面有个选项“两周内不用登录”)。
此站的这个功能用到cookie。。
一开始我直接在首页index.php里面插入自动登录的代码,用cookie 记录登录密码,用户名,,都经过加密。。
可是发现获取cookie必须刷新一次才可(此原因是由于cookie是浏览器发送到服务器的,必须要有一次数据发送),,,这样根本达不到我的要求。。
经过几天空闲时间的思考,,决定用ajax试试,,
用js获取cookie,因为js是在浏览器运行的,,可以直接获取cookie不需要刷新,,
代码写好啦,,用www.yichao123.com登录,,功能终于实现。。。
不过还是有个问题,,用yichao123.com登录时就没有这个效果,,
用www.yichao123.com可以,,,奇怪的bug,。。。在网上搜索这个问题好几天,,
终于发现有可能是php里面的setcookie函数,里面域的定义可能有问题:
setcookie(name,value,expire,path,domain,secure)
domain:参数 ,,关键点在这里
在网上搜索到如下内容:
当你把cookie的域名设置为“.example.com”时,cookie在“.example.com”的所有子域名中有效;当你把cookie的
域名设置为“www.example.com”时,cookie在“www”的所有子域名中有效。
ok,,把domain参数改为".yichao123.com",一切ok。
需要实现csdn的2周不用登录功能,请参看网站(http://yichao123.com),(在此站登录页面有个选项“两周内不用登录”)。
此站的这个功能用到cookie。。
一开始我直接在首页index.php里面插入自动登录的代码,用cookie 记录登录密码,用户名,,都经过加密。。
可是发现获取cookie必须刷新一次才可(此原因是由于cookie是浏览器发送到服务器的,必须要有一次数据发送),,,这样根本达不到我的要求。。
经过几天空闲时间的思考,,决定用ajax试试,,
用js获取cookie,因为js是在浏览器运行的,,可以直接获取cookie不需要刷新,,
代码写好啦,,用www.yichao123.com登录,,功能终于实现。。。
不过还是有个问题,,用yichao123.com登录时就没有这个效果,,
用www.yichao123.com可以,,,奇怪的bug,。。。在网上搜索这个问题好几天,,
终于发现有可能是php里面的setcookie函数,里面域的定义可能有问题:
setcookie(name,value,expire,path,domain,secure)
domain:参数 ,,关键点在这里
在网上搜索到如下内容:
当你把cookie的域名设置为“.example.com”时,cookie在“.example.com”的所有子域名中有效;当你把cookie的
域名设置为“www.example.com”时,cookie在“www”的所有子域名中有效。
ok,,把domain参数改为".yichao123.com",一切ok。