>백엔드 개발 >PHP 튜토리얼 >请教一下setcookie的用法

请教一下setcookie的用法

WBOY
WBOY원래의
2016-06-23 14:28:161678검색

如果我想让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]));} 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.