PHP中的cookie

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

  

原文地址:https://www.cnblogs.com/perseverancevictory/p/3661640.html