Web项目中可用于存储数据的技术有哪些?(Session技术)

本文详细介绍了如何使用Session技术存储用户登录信息,并提供了从登录到注销的完整PHP示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器存储数据:

(1)数据库技术:适用于项目中大量业务逻辑数据

(2)Session技术:把客户端的特有数据存储在服务器内存中,安全级别高。客户端只有一个唯一的不可被仿冒的ID号,服务器端根据此ID号在自己的内存中为该客户端分配出一块专用的空间。

 

  客户端存储数据:

(1)Cookie:适用于少量的客户端特有的数据,操作繁琐

(2)WebStorage:适用于8MB以内的客户端特有的数据,操作简单

    ---不能用来存储用户名,密码,用户id等数据(可用Session)

    ·localStrorage:数据存储在客户端磁盘中,安全级别低

    ·sessionStorage:数据存储在客户端内存中,安全级别低

(3)IndexedDB:适用于大量的存储在客户端的数据

 

 

案列:使用Session技术存储用户名,密码,用户id

index.php

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
  .head-bar {
    text-align: right;
  }
  </style>
</head>
<body>
  <div class="head-bar">
  <?php
    session_start();
    if(@$_SESSION['LoginName']){
      echo "欢迎回来:".$_SESSION['LoginName'];
      echo "<a href='logout.do.php'>注销</a>";
    }else {
      echo "<a href='login.php'>登录</a>";
    }
  ?>

  </div>
  <hr>
  <h3>首页</h3>
</body>
</html>

login.php

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
  </style>
</head>
<body>
  <h3>登录</h3>
  <form action="login.do.php">
  用户名:<input name="uname"><br>
  密码名:<input name="upwd"><br>
  <input type="submit">
  </form>
</body>
</html>

login-do.php

<?php
$n = $_REQUEST['uname'];
$p = $_REQUEST['upwd'];

//到数据库中执行用户名和密码验证,假设验证通过
session_start();  //启用当前客户端对应的Session空间
$_SESSION['LoginName'] = $n;  //往当前客户端对应的Session空间中存储数据
$_SESSION['LoginUid'] = 888;  //往当前客户端对应的Session空间中存储数据
$_SESSION['LoginPwd'] = $p;  //往当前客户端对应的Session空间中存储数据

?>
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
  </style>
</head>
<body>
  <h3>登录成功!</h3>
  <p>3秒钟将会跳转回首页....</p>
  <script>
     setTimeout(function(){
        location.href = 'index.php'
     },3000);
  </script>
</body>
</html>

logout-do.php

<?php
session_start();

//销毁当前客户端对应的Session空间
session_destroy();

?>
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
  </style>
</head>
<body>
  <h3>注销成功!</h3>
  <p>3秒钟将会跳转回首页....</p>
  <script>
     setTimeout(function(){
        location.href = 'index.php'
     },3000);
  </script>
</body>
</html>

 

转载于:https://my.oschina.net/webcaorui/blog/1553638

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值