前置信息

前端用户输入登录密码:
myPassword = testpass

目标参数

setcookie([id],[value],[time]);

<?php
setcookie("myLogin",$_POST["myPassword"],time()+3600*1);
?>

在登录的 PHP 页面配置用于记录登录信息的 setcookie() 函数;

myLogin:cookie 的标识符(名称)

$_POST["myPassword"]:赋值,当前是变量值,也可以是字符串;

time()+3600*1:cookie 保留时长(过期时间),设定为 3600 秒(常量为 60 秒 [1 分],设定 60 分,即 60 秒*60 分=3600 秒),即 1 小时;

实例片段

login.php

设置 cookie 保留时间;

<?php
……
setcookie("myLogin",$_POST["myPassword"],time()+3600*1);
echo .$_COOKIE['myLogin'];
……
?>

取回 cookie,输出 testpass

logout.php

设置 cookie 销毁时间;

<?php 
setcookie("myLogin",$_POST["myPassword"],time()-3600);
echo "登出中……";
header('location:./login.php'); 
?>

time()-3600:负计时的过去式即表示立即销毁 cookie;

echo "登出中……":在跳转过程如果有过慢情况可以在缓冲时间显示信息;

header('location:./login.php');:完成销毁 cookie 后指定跳转的页面,一般是登录页。

了解更多

使用 if 语句判断 cookie 的值是否为空以判断销毁状态,使用 echo 输出结果。

<?php 
setcookie("myLogin",$_POST["myPassword"],time()-1);

if(!empty($_COOKIE['myLogin'])){
	echo "_COOKIE 存在";
}
else {
	echo "_COOKIE 销毁";
}
?>

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。