热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cookie和session的比较

现在越来越多的企业或者个人都比较喜用互联网进行沟通和交流:比如留言板方式,聊天室方式,论坛博客等等

现在越来越多的企业或者个人都比较喜用互联网进行沟通和交流:比如留言板方式,聊天室方式,论坛  博客等等

上述几种方式都需要用户注册自己的身份验证并且通过验证以后才能正常使用,这样考虑到了用户在某一段时间之内访问网站多个页面或者在不同网站之间进行跳转时可以顺利的访问,如果做不到这点的话不仅会对用户带来不便,而且用户登录时浪费了服务期空间如果所有的网站能够实现单点登录的话 可以有效的解决这一繁琐的问题,那么我们在php中使用session和COOKIE来解决这一繁琐的问题:

COOKIE和session的比较

例如简单的例子 提交表单的

session_start();
include_once 'conn/conn.php';                //执行连接数据库的操作
$name = addslashes($_POST['name']);            //获取用户名
$pwd = $_POST['pwd'];                        //获取密码
if(!empty($name) and !empty($pwd)){
$sql = "select * from tb_member where name = '".$name."' and password = '".$pwd."'";
$num = $conne->getRowsNum($sql);        //返回查询结果
$conne->close_rst();                    //释放查询结果
if($num == 0 or $num == ''){            //如果不正确
echo "";
}else{                                    //如果正确,则将登录用户名数据存储到COOKIE中
$session_id=session_id();            //获取SessionID
setCOOKIE("name", $name, time()+3600, "/");
setCOOKIE("id", md5($session_id), time()+3600, "/");
$sqls="insert into tb_login(name,login_id,datetime)values('".$name."','".md5($session_id)."','".mktime()."')";    //向数据库中添加数据
$nums = $conne->uidRst($sqls);        //返回查询结果
echo "";
}
}
?>

我们可以仔细的观察一下返回结果来看下

然后来验证一下session:

session_start();
include_once 'conn/conn.php';                //执行连接数据库的操作
$name = addslashes($_POST['name']);            //获取用户名
$pwd = $_POST['pwd'];                        //获取密码
if(!empty($name) and !empty($pwd)){
$sql = "select * from tb_member where name = '".$name."' and password = '".$pwd."'";
$num = $conne->getRowsNum($sql);        //返回查询结果
$conne->close_rst();                    //释放查询结果
if($num == 0 or $num == ''){            //如果不正确
echo "";
}else{                                    //如果正确,则将登录用户名数据存储到COOKIE中
$session_id=session_id();            //获取SessionID
setCOOKIE("name", $name, time()+3600, "/");
setCOOKIE("id", md5($session_id), time()+3600, "/");
$sqls="insert into tb_login(name,login_id,datetime)values('".$name."','".md5($session_id)."','".mktime()."')";    //向数据库中添加数据
$nums = $conne->uidRst($sqls);        //返回查询结果
echo "";
}
}else{
echo "失败";
}
?>

好了具体的操作步骤可以


推荐阅读
  • 深入理解Git与GitHub:分支管理与冲突解决
    本文详细探讨了Git中的分支管理技术,包括如何创建、切换和合并分支,以及如何有效解决分支合并时可能遇到的冲突。同时,文章还介绍了Git的基本原理,如哈希算法的应用和文件管理机制。 ... [详细]
  • 本文对唐代诗人王维创作的《相和歌辞·祭渔山女神曲·迎神》进行了深入解读,并附有原文赏析,旨在探讨其文化背景及艺术特色。 ... [详细]
  • Flask中路由的基础定义与应用
    本文介绍了如何在Flask框架中通过装饰器为视图函数指定访问路径,并详细讲解了带参数路由及指定请求方法的实现方式。 ... [详细]
  • 如何使用Git Fork关联私有仓库进行代码提交与更新
    在团队协作开发中,为了减少频繁提交代码给领导审查的不便,开发者通常会选择从主仓库Fork出一个私有仓库,在完成特定功能后,再向主仓库发起Pull Request。本文将详细介绍这一过程的具体步骤。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 在广州,一名33岁的男子与对面楼的邻居小孩通过窗户进行了长达两个月的交流,这段温馨的对话不仅温暖了双方的心,也感动了许多网友。 ... [详细]
  • 本文探讨了选择鼠标时应考虑的关键因素,包括手型匹配、重量及传感器性能,帮助用户挑选最适合自己的鼠标。 ... [详细]
  • 如何在Mac版Excel中启用数据分析功能
    在日常办公中,文档和电子表格是不可或缺的工具。Excel中的数据分析工具提供了强大的数据处理能力,但这些功能通常需要通过加载宏来激活。本文将详细介绍如何在Mac版Excel中加载数据分析工具。 ... [详细]
  • 如何关闭抖音青少年模式?完整操作指南
    本文详细介绍了关闭抖音青少年模式的具体步骤,帮助用户轻松完成设置调整。 ... [详细]
  • 深入解析Android Activity生命周期
    本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ... [详细]
  • 意外发现抽屉里的‘小金库’
    在准备回乡过年的前夕,无意间整理电脑桌下的抽屉时,意外发现了隐藏的财富,不仅有零散的现金,还有各种票据和办公用品,让人大吃一惊。 ... [详细]
  • 本文章利用header()函数来实现页面跳,我们介绍到404,302,301等状态跳转哦,下面有很多的状态自定的函数有需要的同学可以测试一下。heade ... [详细]
  • 面对日益竞争激烈的就业市场,合理的职业规划对于在校大学生尤为重要。本文旨在探讨如何通过有效的自我认知、技能提升及目标设定,帮助计算机专业的学生构建清晰的职业路径,以增强就业竞争力。 ... [详细]
  • 本文探讨了Web API 2中特性的路由机制,特别是如何利用它来构建RESTful风格的URI。文章不仅介绍了基本的特性路由使用方法,还详细说明了如何通过特性路由进行API版本控制、HTTP方法的指定、路由前缀的应用以及路由约束的设置。 ... [详细]
  • 近期在《炉石传说》中,玩家频繁报告在竞技场遇到疑似使用作弊手段的情况,特别是对手牧师职业在使用偷牌技能时,往往能精准获取玩家手中的高费强力卡牌,这是否仅仅是巧合,还是存在某些未公开的机制或作弊行为? ... [详细]
author-avatar
我爱宝宝们小童鞋_244_571_742
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有