博主信息
博文 24
粉丝 1
评论 0
访问量 26928
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP销毁session及用cookie实现用户七天登陆
知行合一
原创
949人浏览过

PHP销毁session

unset() 用于释放一个已经存在的session值

  1. $_SESSION['school']='pdu';
  2. //方法1,先判断后删除
  3. if(isset($_SESSION['school'])){
  4. unset($_SESSION['school']);
  5. }
  6. //方法2,直接删除
  7. unset($_SESSION['school']);

session_destroy()销毁session

  1. $_SESSION['name']='zhangsan';
  2. session_destroy();
  3. print_r($_SESSION); //只是销毁了保留用户信息的Session文件,但没有清空Session这个超全局数组中的内容。还可以打印出来内容

设置session超全局数组为空

  1. //使用 $_SESSION = array() 清空 $_SESSION 数组的同时,也将这个用户在服务器端对应的 Session 文件内容清空,但不删除文件
  2. $_SESSION=[];
  3. print_r($_SESSION);

彻底删除session的话,要结合session_destroy()和设置设置session超全局数组为空。

两个文件:
login.php登陆页面
index.php登陆成功显示的页面
login.php代码如下:

  1. <?php
  2. //判断是否处理登陆状态,如果是直接跳转到index.php
  3. if((isset($_COOKIE["isLogin"]) && $_COOKIE["isLogin"]=="1")){
  4. header("Location:index.php");
  5. }
  6. $username=$_POST["username"];
  7. $password=$_POST["password"];
  8. function clearCookie(){
  9. setcookie("username","",time()-3600);
  10. setcookie("password","",time()-3600);
  11. }
  12. if($_POST["submit"]){ if($username=="xiaoming"&&$password=="123456"){
  13. clearCookie();
  14. setcookie("isLogin",1,time()+3600*24*7);//设置cookies日期为一周
  15. setcookie("username",$username,time()+3600*24*7);
  16. setcookie("password",$password,time()+3600*24*7);
  17. header("Location:index.php");
  18. }
  19. else{
  20. exit("用户名或者密码错误!");
  21. }
  22. }
  23. ?>
  24. <form action="" method="post">
  25. <label>用户名:<input type="text" name="username" placeholder="请输入用户名"></label>
  26. <label>密码:<input type="text" name="password" placeholder="请输入密码"></label>
  27. <input type="submit" name="submit">
  28. </form>

index.php页面代码如下

  1. <?php
  2. if(!(isset($_COOKIE["isLogin"]) && $_COOKIE["isLogin"]=="1")){
  3. exit( "<script>alert(\"您还没有登陆,请登陆!\");location.href=\"login.php\"</script>");
  4. }
  5. if ($_GET["action"]=="logout"){
  6. setcookie("username","",time()-3600);
  7. setcookie("password","",time()-3600);
  8. header("Location:login.php");
  9. }
  10. ?>
  11. 欢迎您,<?php echo $_COOKIE["username"] ?> <a href="?action=logout">退出</a>

效果如下:

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:可以
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学