博主信息
博文 13
粉丝 1
评论 0
访问量 11023
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0508_会话控制(session和cookies)
扬美刘
原创
895人浏览过

会话管理

  • 两种形式,cookie和session

SESSION

  • 1)session 是常用的会话,一般地后台管理、会员中心都是用session作为会话
  • 2)session存在服务器中,会加重服务器的负载,
  • 3)session有时间性,一般以20分钟为好;
  • 4)session的变量是$_SESSION,赋值格式如:$_SESSION[‘strname’]=’str’;
  • 5)网页中要先保存seesion,须先在网页中打开session_start();
  • 1)cookies 是最学用的会话,一般用作会员会话,在移动应用中一般用得比较多;
  • 2)cookies保存用户浏览器中,它需要用户的浏览器允许保存cookies才可以用;
  • 3)cookies有时间性,一般以7-30天为好;
  • 4)cookies的变量是$_COOKIE,赋值格式如:setcookies(‘strname’,值,过期时间);

SESSION应用例子

以用户登录为例:首先是需要编写一个登录页面,登录成功后把session存到服务器中,在用户的操作网页中判断是否过期,如果过期需要重新登录,如果未注册则需要用户注册;

登录界面

  • 用户登录界面代码,login.php
    1. <!-- 用户登录界面 -->
    2. <div class="loginbox">
    3. <form action="handle.php" method="post">
    4. <span class="iconfont"></span><input type="text" name="username" value="" maxlength="20" required placeholder="帐户">
    5. <span class="iconfont"></span><input type="userpsw" name="userpsw" value="" maxlength="20" required placeholder="密码">
    6. <input type="submit" value="登录" class="loginbtm" style="margin-left:28px;width:240px; ">
    7. </form></div>

接收登录信息

接收登录信息并判断是否登录成功的代码,handle.php

  1. session_start();
  2. // 判断是否为空
  3. if (!empty($_POST["userpsw"])) && (!empty($_POST["username"])) {
  4. $stmt = $conn->query("select id,username,userpsw from user where username='".$username."' and userpsw='".md5($userpsw)."'");
  5. // 如果表中有这个用户,
  6. if($row = $stmt->fetch_array())
  7. {
  8. // 赋值给session
  9. $_SESSION['mylogin']=$row['username'];
  10. // 登录成功就跳转到index.php
  11. echo '<script>location.href="index.php"</script>';
  12. exit();
  13. }
  14. else
  15. {echo '<script>alert("登录失败,请检查帐户和密码是否正确!");</script>'; }
  16. }
  17. }else
  18. {
  19. die('用户名和密码必填')
  20. }

判断是否有session

在index.php中判断是否会话过时,过时就跳转到登录页面

  1. if (empty($_SESSION['mylogin'])){echo '<script>alert("登录超时,请重新登录!");location.href="login.php"</script>'; }

用户退出会话

退出会话就是清空或销毁session;

  1. session_destroy();

COOKIES应用例子

  • 基本上,COOKIES与session是一样的,只不过赋值方式不同;
  • cookies应用判断用户端是否允许打开cookies;

总结:

  • session和cookies在用法上没多大的区别,
  • cookies适合用在手机h5应用上,用作私人免登录比较适合;
  • session用于后台管理管理比较合适;
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:代码写得棒棒, 对函数运用还算熟悉, 继续
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学