Heim >Backend-Entwicklung >PHP-Tutorial > 请问一上setcookie的用法

请问一上setcookie的用法

WBOY
WBOYOriginal
2016-06-13 13:24:281117Durchsuche

请教一下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 呢?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn