日期:2014-05-17  浏览次数:20425 次

请教一下setcookie的用法
如果我想让COOKIES永久保存
如何通过setcookie来实现 是给expire一个很大的值吗?
还有 如果想保存1个月 就是按30天算 60*60*24*30 还是有什么精确的计算方法?

------解决方案--------------------
总之cookie是不能永久保存的,存东西,你要把数据存到数据库里。
cookie 你就存该用户信息的ID即可,需要时,到数据库里取。
方便,而且不产生漏洞。
还有存cookie,
重要的数据必须加密
------解决方案--------------------
60*60*24*30 是一个表达式,最终传入的参数是 2592000 
这么写主要是便于阅读,一小时3600秒,一天24小时,一个月30天。
至于你说的如果考虑每月实际天数的话,就有点麻烦了,你可以搜索一下.PHP获取每月实际天数
------解决方案--------------------
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

expire Cookie 过期的时间。这是个 Unix 时间戳,即从 Unix 纪元开始的秒数。换而言之,通常用 time() 函数再加上秒数来设定 cookie 的失效期。或者用 mktime()来实现。 time()+60*60*24*30 将设定 cookie 30 天后失效。如果未设定,cookie 将会在会话结束后(一般是浏览器关闭)失效 

这是在执行一次 setcookie 后的情况,如果用户每次访问时都执行一次的话,不就永久了吗?
------解决方案--------------------
你为什么一定要在登录后才写 cookie 呢?
为什么不可以在验证登录信息有效时也写 cookie 呢?