第一次设置后,第二次访问才生效,决绝办法可以用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中例子:
<?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>