第一次设置后,第二次访问才生效,决绝办法可以用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> |
原文:http://www.cnblogs.com/perseverancevictory/p/3661640.html