Day26 Cookie 的使用-1

cookie的使用方法:

  • 这边我们用setcookie()

  • 添加COOKIE值
    setcookie('下标','值','有效时间','有效作用域 / 表示当前作用域下');

  • 修改COOKIE值
    setcookie('下标','新值','新的有效时间','有效作用域');

  • 删除COOKIE值
    setcookie('下标',null,'设置过期时间','有效作用域');

  • 查看COOKIE值
    cookie所有的值都是使用於系统提供的$_COOKIE预定义数组,所有的cookie设置的值都会成为该数组的一个元素。
    查看cookie值可以使用var_dump()或者print_r()
    如果使用特点的COOKIE的值: $_COOKIE['下标'];

  • $_COOKIE是一个可以跨页面的系统预定义变量。

  • $_COOKIE在设置当前页面是无法读取信息的(当前设置cookie页面打印cookie时出不来)

  • COOKIE的缺点。

    1. 它必须依赖於客户端允许(客户端可以关闭COOKIE)
    2. 相对不安全,COOKIE信息容易泄露

小练习

首先我们创了一个 login.html

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>文档</title>
</head>
<body>
<form action="login.php" method="post">
用户名:<input type="text" name="name" id=""><br/>
密码:
<input type="password" name="pwd" id=""><br/>
<input type="submit" value="登录">
</form>
</body>
</html>

有了一个登入的html档案,那接下来我们要一个判断登入的档案 login.php
这边我们要设置我们的Cookie,使用这个Cookie判断, 然後跳转到index.php,如果判断失败也可以做一些处理这边就没写上了。

<?php
//var_dump($_POST);
	if($_POST['name'] == 'winnie' && $_POST['pwd'] == 'admin'){
		//制作Cookie
		setCookie('islogin',true,time()+3600,'/');
		setCookie('name',$_POST['name'],time()+3600,'/');
		setCookie('pwd',$_POST['pwd'],time()+3600,'/');
		//var_dump($_COOKIE);
		//登录成功
		echo '<script>alert("登录成功");location="./index.php"</script>';
	}else{
		//登录失败跳转注册页面
	}

接下来我们设好我们的Cookie後,成功我们就可以跳转到index.php
index.php

<?php
var_dump($_COOKIE);
	//这是首页
	if(isset($_COOKIE['islogin']) && $_COOKIE['islogin'] == true){
		
		//代表用户已经登录 

		echo '亲爱的小可爱'.$_COOKIE['name'].'会员,欢迎您回来<br/>';

		echo '<a href="a.php">去a页面</a><br/>';
		echo '<a href="b.php">去b页面</a><br/>';
		echo '<a href="c.php">去c页面</a><br/>';
	}else{
		//用户没有登录
		echo '对不起,您无权访问3S後自动跳转到登录页面';
		echo '<meta http-equiv="refresh" content="3;url=./login.html">';
	}

接着做好後我们可以来做abc页面~~ 这个我们明天完成他,还有logout消除Cookie。


<<:  Angular 深入浅出三十天:表单与测试 Day26 - 进阶表单开发技巧 - 自订验证器

>>:  Day 26 - Vue 与 HTTP请求 (1)

Day 25 Azure machine learning: Pipeline for data- 建立工作流程来收集资料

Azure machine learning: Pipeline for data- 建立工作流程来...

数据分析的好夥伴 - Python基础:物件导向(下)

前面我们有说过,在Python的世界中,万物皆物件。但物件只是这个世界的最小单位而已,接下来让我们认...

Rust-特徵(Trait)(二)

没有Trait界限的泛型函式 上一篇范例中在宣告泛型函式中使用了where where T: Has...

菜主管常有的迷思

分享过我对「什麽是管理」的定义後,在直接进入讨论「如何管理」前,我想花点时间,厘清几个没有实际管理...

个人管理 - 工作细节拆分

让我们回到自己的菜鸟期,如果拿到一个题目:电影订票系统,你只有一个人,10天的时间,你会怎麽分配时间...