Blogger Information
Blog 13
fans 1
comment 0
visits 8287
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0508_会话控制(session和cookies)
扬美刘
Original
711 people have browsed it

会话管理

  • 两种形式,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用于后台管理管理比较合适;
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:代码写得棒棒, 对函数运用还算熟悉, 继续
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post