PHP中cookie和session的区别是什么?
上篇文章给大家介绍了《在PHP中如何使用冒泡排序?》,本文继续给大家介绍PHP中cookie和session的区别是什么?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
cookie和session的区别:
对于PHP会话管理,
cookie:数据存储在浏览器端,特点是:方便与javascript交换数据;方便获取用户信息;风险:浏览可能会禁用cookie;替代方案:url参数;
session:数据存储在服务器;特点:高效,安全,不依赖浏览器端环境,服务器端会为每一个用户用一个ID来标识;
对于两个的具体区别我们以代码为例:
首先我们先写一个函数(setcookie),紧接着在函数里定义一个name,然后我们需要把此数据通过另一个页面去访问,这时我们需要在创建一个文件,在此文件中输出(echo)$COOKIE['name'],我们在第一个页面中我们使用hearder进行跳转,
2.php
<?php setcookie('name','我喜欢你'); header('Location:1.php'); ?>
1.php
<?php echo $_COOKIE['name']; ?>
运行结果:
当我们用html进行书写,我们可以得到一些的结果,首先我们先写一段HTML的代码
在<head>里面我们可以写一个<script>,紧接着我们用一个对话框呈现一个数据,
我们使用客户端的脚本也是可以访问cookie这个数据的
<?php setcookie('name','我喜欢你'); //header('Location:1.php'); ?> <!DOCTYPE html> <htmL> <head> <meta charset="UTF-8"> <title>Document</title> <script> alert (document.cookie) ; </script> </head> <body> </body> </html>
有的时候我们浏览器端的cookie会被禁用,但是我们还想再多个页面之间传递数据,我们在新建一个文件,我们还是通过跳转,
<?php setcookie('name','我喜欢你'); header("Location:3.php?name=我喜欢你"); ?>
<?php echo $_GET['name']; ?>
session;
首先我们先写一个函数session_start(),我们用session_id进行访问,然后我们在浏览器看当前用户的状态,
<?php session_start(); echo session_id(); ?>
如何使用session在多个数据之间共享,
<?php session_start(); $_SESSION['name'] = '我喜欢你'; //echo session_id(); ?> <?php session_start(); echo $_SESSION[I'name' I ;| ?>
<?php session_start(); $_SESSION['name'] = '我喜欢你'; //echo session_id(); header( 'Location:1.php' ); ?>
推荐学习:php视频教程