第一次设置后,第二次访问才生效,决绝办法可以用js跳转首页实现刷新。
1.创建/更新cookie
setCookie($cookieName,$value,time()+秒数);
例子:创建一个cookie,名字为UserName,值为zs,过期时间为2个星期
setcookie("UserName","zs",time()+2*7*24*3600);
如果不设置时间,就不会保存到cookie文件中。浏览器不关时,能够访问。当浏览器关闭时,就无法访问了。
例子:setcookie("Age","18");
2.取cookie的值
$_cookie[$cookieName];
例子:取出UserName的值,放在变量$uName中
$uName=$_COOKIE[‘UserName‘];
取值的时候,一般会先判断是否为空,再进行取值操作。上面的取值操作一般这样写:
if (!empty($_COOKIE[‘UserName‘]))
{
$uName=$_COOKIE[‘UserName‘];
}
3.删除指定cookie
setcookie($cookieName,value,time()-秒数);
或者 setcookie($cookiename, ‘‘);
或者 setcookie($cookiename, NULL);
例子:删除UserName
setcookie("UserName","zs",time()-3600);
4.删除当前会话的所有cookie
foreach($_COOKIE as $key=>$val){
setcookie($key,"",time()-100);
}
当无cookie时,本机保存cookie的文件也将删除。
php100中例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php if ( $_POST [name]&& $_POST [pass]) {
setcookie( ‘id‘ , $_POST [name],time()+3600); //有效时间为一小时
setcookie( ‘pass‘ , $_POST [pass]); //不设置时间的话浏览器关闭时就失效。
echo
"<script>location.href=‘cookie.php‘</script>" ;
# code...
} if
( $_GET [out]) {
setcookie( ‘id‘ ,null);
setcookie( ‘pass‘ ,null);
echo
"<script>location.href=‘cookie.php‘</script>" ;
# code...
} if ( $_COOKIE [ ‘id‘ ]&& $_COOKIE [ ‘pass‘ ]){
echo
"创建cookie成功<br />用户名:" . $_COOKIE [ ‘id‘ ]. "<br />" . "密码" . $_COOKIE [ ‘pass‘ ];
echo
"<br /><a href=‘cookie.php?out=1‘>退出</a>" ;
# code...
} ?>
<meta http-equiv= "content-type"
content= "text/html;charset=utf8" >
<form action= ""
method= "post" >
<input type= "text"
name= "name" ><br>
<input type= "password"
name= "pass" ><br>
<input type= "submit"
value= "创建" >
</form>
|