Maison >développement back-end >tutoriel php >请教一下setcookie的用法
如果我想让COOKIES永久保存
如何通过setcookie来实现 是给expire一个很大的值吗?
还有 如果想保存1个月 就是按30天算 60*60*24*30 还是有什么精确的计算方法?
cookie不能永久保存
至于你说的精确的方法不知道是指什么?
我的意思是
网上那些程序设置保存一个月的时候
只是粗略地用60*60*24*30 这样表达30天
还是会根据每个月份有几天 来计算
不过我估计是直接按30天算了
呵呵
晕。何必计较这么多。。。。
晕。何必计较这么多。。。。
cookie是保存在客户端的,用户清理缓存时,都清掉了。
计较这么多,不嫌累么!
晕。何必计较这么多。。。。
cookie是保存在客户端的,用户清理缓存时,都清掉了。
计较这么多,不嫌累么!
不是计较
刚学习PHP
所以来问问 呵呵
这个答案就是
你喜欢..
总之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 后的情况,如果用户每次访问时都执行一次的话,不就永久了吗?
60*60*24*30 是一个表达式,最终传入的参数是 2592000
这么写主要是便于阅读,一小时3600秒,一天24小时,一个月30天。
至于你说的如果考虑每月实际天数的话,就有点麻烦了,你可以搜索一下.PHP获取每月实际天数
我也觉得 还是30天来的方便
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )
expire Cookie 过期的时间。这是个 Unix 时间戳,即从 Unix 纪元开始的秒数。换而言之,通常用 time() 函数再加上秒数来设定 cookie ……
如果cookies用来保存登陆信息的
每次都设置setcookie 那不是得登陆了才能设置么 相当于没COOKIES
你为什么一定要在登录后才写 cookie 呢?
为什么不可以在验证登录信息有效时也写 cookie 呢?
可以计算出每个月或者当前月的天数,当然了一般都是设置一个固定的天数,例如把一个月当成28或者30天,不然的话,你在27号设置保存一个月,难道28好就失效吗,显然是不成立的,所以你只需要将其设置成固定的30天就行了,而永久有效的话简单的cookie是不行的,除非用其它的方式,如数据库标识等等
function setCookies(name,value){ var name = "xifashui"; var Days = 30; //此 cookie 将被保存 30 天 exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name +"="+ escape(value) +";expires="+exp.toGMTString();alert("放入成功")}function getCookies(name){ var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); if(arr != null)alert(unescape(arr[2]));}