phpcookie设置时间
㈠ php里面cookie记录用户访问网页的次数和过期时间 求源码
<?php
global $count;
$count=1;
if(!isset($_COOKIE["visittime"])){ setcookie("visittime",date("y-m-d H:i:s"));
setcookie("visitcount",1); echo "欢迎你第一次访问网站!";
}
else{
setcookie("visittime",date("y-m-d,H:i:s"),time()+60); $count=$_COOKIE['visitcount']+1;
setcookie("visitcount",$count); echo "你上次访问网站的时间为:".$_COOKIE['visittime'];
echo "<br>";
}
echo "你共 ".$_COOKIE['visitcount']." 次访问网站,时间为:".date("y-m-d H:i:s");
?>
㈡ php如何设置COOKIE控制登录用户的过期时间
在php函数里面setcookie是有时间限制的
setcookie有3个参数
第一个参数是设置的变量名字
第二个参数是变量的值
第三个参数就是有效期了.有效期是以秒来计算的
假设你设置的cookie的有效期是1个小时,那么从你设置的时间开始,到一个小时候这个cookie都有效.换句话说就是这个cookie变量能够读取到的时间是1个小时
一个小时之后这个变量就失效了.不存在了
用php控制用户过期的话.先设置一个cookie.并设置时间长度.例如1天.每次当用户访问的时候都去读取这个cookie.如果存在.就免验证.如果不存在就重新验证.这样就实现了登陆用户的过期时间问题.
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* 有效期1 小时 */
㈢ PHP的cookies的问题,如何设置关闭浏览器的时候就清空cookies
用setCookie,把时间清空或者设置为0就可以了。
setcookie(name,value,expire,path,domain,secure)
比如代码:
setcookie("TestCookie",$value);
有时可能会报错,把时间设置为0就好了。
setcookie("TestCookie",$value,0);
㈣ php cookie技术图文讲解教程
Cookie介绍
Cookie是客户端技术,当客户端请求服务器时,随身携带数据过去。想象我们去超市购物,买很多东西,超市会给我们办会员卡,会员卡保存我们购买的商品信息,以后只需要拿着会员卡就可以。
Cookie原理介绍
当客户端请求服务器时,服务器会告诉浏览器在自己身上做一个标记(cookie),这样以后浏览器再访问时,读取cookie文件中的信息。
Cookie应用场景
场景1:最近浏览过哪些商品?使用cookie实现,点击浏览的商品保存到cookie文件,再访问时读取。
场景2:登录时,如果选择记住用户名、下次自动登录,保存本次登录成功的用户名到cookie中,下次输入框读取。
Cookie基本使用(增删改查)
创建cookie(增加)使用setcookie()函数,参数包括:保存的cookie变量名称、值、有效期、有效路径、有效域名、是否只允许在https协议下使用、是否只允许在http协议下传输。
读取cookie的数据
读取cookie通过$_COOKIE超全局数组实现。
修改cookie如果给同一个cookie变量重新赋值,就是修改,且有效期从修改时间重新计算。
删除cookie将cookie的有效期设置为过期,同时删除$_COOKIE超全局数组中的cookie变量。
Cookie应用案例
显示用户访问时间,如果是第一次访问服务器,显示第一次访问时间;如果不是第一次访问,显示上次访问时间。
Cookie细节
每个域名下最多创建20个cookie,每个cookie最多存储4K左右的数据。setcookie前面不能有任何输出,否则违反HTTP协议。
为了测试,需要关闭php的ob缓冲,在php.ini中关闭。
㈤ php生成cookie服务器时间和客户电脑时间不统一的问题!
这个问题是这么理解的。看你用js还是php操作cookie。
如果你用php,那么解读的都是你服务器上的时间,如果你用js,那么解读的就是客户电脑上的时间cookie。
如果你想让客户操作cookie,那么就是js异步调用php在服务器上操作。这就能解决时间不一致的问题了。
㈥ PHP,cookie清空问题
有两个原因:
1. 客户端电脑的时间比服务器时间慢1个小时以上,所以设置COOKIE时间为58000后仍然没有过期,故删除不了
2. COOKIE除了时间限制外,还有路径限制.在/Login/下设置的COOKIE如果没有指定路径,在/Article/下是不能读取和删除的
这样写:
写COOKIE
setcookie('User',$_GET['uid'],time()+3600*24, '/');
删COOKIE
setcookie('User','',1, '/');
㈦ php获取cookie后怎么使用
php获取cookie使用方法:
cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在cookie中。
cookie工作原理
当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:Documents and Settings用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:Documents and Settings用户名\Cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。
通过$_COOKIE['xxx']读取客户端发来的cookie。
创建 cookie
通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
参数说明:
name cookie 名称
value 可选,cookie 值
expire 可选,过期时间,时间戳格式
path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径
domain 可选,该 cookie 有效的域名
<?php
setcookie("username", "nostop", time()+3600); //设置了一个名称为 username 的cookie,其值为 xiaoli ,并在1小时候后过期。如果时间也被省略,cookie 将会在会话结束后(一般是浏览器关闭)失效。
?>
cookie 会以一定格式被存储在用户计算机特定位置。
<?php
setcookie("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路径下该 cookie 都有效(即全站有效)。
?>
读取 cookie
PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。
例子:
<?php
echo $_COOKIE["username"]; //nostop
?>
销毁 cookie
可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :
<?php
setcookie("username", "", time()-3600);
?>
cookie注意事项
1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。
3、由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可。
4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!
<?php
setcookie('username','nostop',time()+3600); //创建cookie
if(isset($_COOKIE["username"])){ //使用isset()函数检测cookie变量是否已经被设置
echo "您好!".$_COOKIE["username"]; //您好!nostop 读取cookie
}else{
echo "请登陆";
}
?>
㈧ 如何使用PHP操作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:
1 <?php
2 $value = "my cookie value";
3 // 发送一个简单的 cookie
4 setcookie("TestCookie",$value);
5 ?>
01 <html>
02 <body>
03 ...
04 ...
05 <?php
06 $value = "my cookie value";
07 // 发送一个 24 小时候过期的 cookie
08 setcookie("TestCookie",$value, time()+3600*24);
09 ?>
10 <html>
11 <body>
程序2:
检索 cookie 值的不同方法:
01 <html>
02 <body>
03 <?php
04 // 输出个别的 cookie
05 echo $_COOKIE["TestCookie"];
06 echo "<br />";
07 echo $HTTP_COOKIE_VARS["TestCookie"];
08 echo "<br />";
09 // 输出所有 cookie
10 print_r($_COOKIE);
11 ?>
12 </body>
13 </html>
程序输出:
1 my cookie value
2 my cookie value
3 Array ([TestCookie] => my cookie value)
程序3:
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
1 <?php
2 // 把失效日期设置为一小时前
3 setcookie ("TestCookie", "", time() - 3600);
4 ?>
程序4:
创建一个数组 cookie:
01 <?php
02 setcookie("cookie[three]","cookiethree");
03 setcookie("cookie[two]","cookietwo");
04 setcookie("cookie[one]","cookieone");
05 // 输出 cookie (在重载页面后)
06 if (isset($_COOKIE["cookie"]))
07 {
08 foreach ($_COOKIE["cookie"] as $name => $value)
09 {
10 echo "$name : $value <br />";
11 }
12 }
13 ?>
程序输出:
1 three : cookiethree
2 two : cookietwo
3 one : cookieone
程序5:
view sourceprint?
1 /**
2 * 01.cookie设置
3 * */
4 function ssetcookie($var, $value, $life=0) {
5 global $_SGLOBAL, $_SC, $_SERVER;
6 setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'],$_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);
7 }