- 1、PHP即时cookie有效期时间怎么设置
- 2、不知道为什么,php设置setcookie,没有有效时间就失败
- 3、如何使用PHP操作cookie
- 4、php如何设置COOKIE控制登录用户的过期时间
- 5、关于PHP中setcookie()的用法问题:
- 6、php如何设置COOKIE控制登录用户的过期时间?
设置方法如下:
setcookie(“cookie_name”, “abcd”, time()+3600);
解释:这个cookie有3600秒的有效期;
cookie有效期在退出作用域那一刻开始生效;
重新又有3600秒,设置cookie时,不会考虑之前的是否设置cookie和cookie是否有效,可以认为是强制设置。
如果关闭浏览器重新打开又重新算(当然这个要php.ini设置了关闭浏览器立即失效的开关),其实就是打开页面产生cokeie开始算起,如果你打开页面产生cokeie的时间有1800秒了,假如设置的3600秒失效,再次刷新页面就剩1800秒了
没看到你的代码,所以写了个示例:
1. test1.php 设置cookie,并令其生存期为60秒
?php
setcookie(“times”, “1”, time()+60);
?
2. test2.php 取cookie
?php
if (isset($_COOKIE[“times”]))
echo “times ” . $_COOKIE[“times”] . “!br /”;
else
echo “cookie不存在!br /”;
?
test2.php 的运行结果:
times 1!
运行正常啊,可以取得cookie。
如果取不到,请检查浏览器的cookie设置。
PHP setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 “name”,会自动创建名为 $user 的变量,包含 cookie 的值。必须在任何其他输出发送前对 cookie 进行赋值。如果成功,则该函数返回 true,否则返回 false。 setcookie(name, value, expire, path, domain, secure) name 必需。规定 cookie 的名称。value 必需。规定 cookie 的值。expire 可选。规定 cookie 的有效期。path 可选。规定 cookie 的服务器路径。domain 可选。规定 cookie 的域名。secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。可以通过 $HTTP_COOKIE_VARS[“user”] 或 $_COOKIE[“user”] 来访问名为 “user” 的 cookie 的值。在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果你不需要这样,可以使用 setrawcookie() 代替。程序1:设置并发送 cookie: ?php $value = “my cookie value”; // 发送一个简单的 cookie setcookie(“TestCookie”,$value); ? html body … … ?php $value = “my cookie value”; // 发送一个 24 小时候过期的 cookie setcookie(“TestCookie”,$value, time()+3600*24); ? html body 程序2:检索cookie 值的不同方法: html body ?php // 输出个别的 cookie echo $_COOKIE[“TestCookie”]; echo “br /”; echo $HTTP_COOKIE_VARS[“TestCookie”]; echo “br /”; // 输出所有 cookie print_r($_COOKIE); ? /body /html 程序输出: my cookie value my cookie value Array ([TestCookie] = my cookie value) 程序3:通过把失效日期设置为过去的日期/时间,删除一个 cookie: ?php // 把失效日期设置为一小时前 setcookie (“TestCookie”, “”, time() – 3600); ? 程序4:创建一个数组 cookie: ?php setcookie(“cookie[three]”,”cookiethree”); setcookie(“cookie[two]”,”cookietwo”); setcookie(“cookie[one]”,”cookieone”); // 输出 cookie (在重载页面后) if (isset($_COOKIE[“cookie”])) { foreach ($_COOKIE[“cookie”] as $name = $value) { echo “$name : $value br /”; } } ? 程序输出: three : cookiethree two : cookietwo one : cookieone 程序5: /** * 01.cookie设置 * */ function ssetcookie($var, $value, $life=0) { global $_SGLOBAL, $_SC, $_SERVER; setcookie($_SC[‘cookiepre’].$var, $value, $life?($_SGLOBAL[‘timestamp’]+$life):0, $_SC[‘cookiepath’], $_SC[‘cookiedomain’], $_SERVER[‘SERVER_PORT’]==443?1:0); }
在php函数里面setcookie是有时间限制的
setcookie有3个参数
第一个参数是设置的变量名字
第二个参数是变量的值
第三个参数就是有效期了.有效期是以秒来计算的
假设你设置的cookie的有效期是1个小时,那么从你设置的时间开始,到一个小时候这个cookie都有效.换句话说就是这个cookie变量能够读取到的时间是1个小时
一个小时之后这个变量就失效了.不存在了
用php控制用户过期的话.先设置一个cookie.并设置时间长度.例如1天.每次当用户访问的时候都去读取这个cookie.如果存在.就免验证.如果不存在就重新验证.这样就实现了登陆用户的过期时间问题.
setcookie(“TestCookie”, $value);
setcookie(“TestCookie”, $value, time()+3600); /* 有效期1 小时 */
你可以简单的测试一下,不走下面的 if($_GET[“firstname”]==”T”) 这些判断的时候,是否有设置 cookie 成功啊,例如:
?php
setcookie(“COO”,””,time()+3600);
var_dump($_COOKIE);
在php函数里面setcookie是有时间限制的
setcookie有3个参数
第一个参数是设置的变量名字
第二个参数是变量的值
第三个参数就是有效期了.有效期是以秒来计算的
假设你设置的cookie的有效期是1个小时,那么从你设置的时间开始,到一个小时候这个cookie都有效.换句话说就是这个cookie变量能够读取到的时间是1个小时
一个小时之后这个变量就失效了.不存在了
用php控制用户过期的话.先设置一个cookie.并设置时间长度.例如1天.每次当用户访问的时候都去读取这个cookie.如果存在.就免验证.如果不存在就重新验证.这样就实现了登陆用户的过期时间问题.
setcookie(“TestCookie”, $value);
setcookie(“TestCookie”, $value, time()+3600); /* 有效期1 小时 */