这三个应该是最让程序员头疼的了,我利用简单的登录界面的username和password来说明一下吧.

1.cookie用来存储用户相关数据,存储的位置在用户本地:

首先是登录界面定义:

<form action="server.php" method="post"><input type="text" name="username" class="username" placeholder="Username"><input type="password" name="password" class="password" placeholder="Password"><button type="submit">Sign me in</button><div class="error"><span>+</span></div></form>

上面的代码大家都懂吧,就是一个表单.然后就是action的server.php服务器处理,

<?php
/*** Created by PhpStorm.* User: Administrator* Date: 2016-7-19* Time: 11:50*/
include "data.php";
header("Content-type:text/html;charset=utf-8");
//echo "ddd";
if ($_SERVER["REQUEST_METHOD"] == "POST") {//第一步
//    echo "ddd1";if ($_POST["username"] == $info["username"] && $_POST["password"] == $info["password"]) {//第二步$myArr = $_POST;$myArr = array_merge($myArr, array("loginIP" => $_SERVER["REMOTE_ADDR"], "loginTime" => time()));se($myArr);setcookies($_POST["username"], $_POST["password"]);setStroage($_POST["username"], $_POST["password"]);echo "<script>window.location.href='index.php';</script>";}
} else {echo "<script>
alert('请登录');
window.location.href='login.html';
</script>";
}
//通过session保存到服务器
function se(array $arr)
{session_start();$_SESSION["username"] = $arr["username"];$_SESSION["password"] = $arr["password"];$_SESSION["loginIP"] = $arr["loginIP"];$_SESSION["loginTime"] = $arr["loginTime"];
}
//通过cookie保存到本地
function setCookies($username, $password)
{setcookie("username", $username, time() + 120);setcookie("password", $password, time() + 120);
}//echo "<script>
//
//    localStorage.setItem('username','$username');
//localStorage.setItem('password'," . "'" . $password . "'" . ");
//</script>";
function setStroage($username, $password){echo "<script>localStorage.setItem('username'," . "'" . $username . "'" . ");localStorage.setItem('password'," . "'" . $password . "'" . ");</script>";
}

上面加载了一个data.php其实里面就是一条数据,

$info=array("username"=>"admin","password"=>"admin");

这个数据主要是核对输入的用户名和密码是否正确.

首先在server里面对不也是判断是不是post请求,如果不是就提示重新登录,返回登录界面,确定是post之后,再进行判断信息是不是输入正确

如果正确就setcookie一下.下面的代码我一一解释

 $myArr = $_POST;//把post传过来的数据放在myarr;里面$myArr = array_merge($myArr, array("loginIP" => $_SERVER["REMOTE_ADDR"], "loginTime" => time()));//这是穿的另外两个参数,一个是用户登录地址,另一个是cookie存活时间(会在寻获时间以为消失)se($myArr);setcookies($_POST["username"], $_POST["password"]);//这个是设置cookie,把传过来的两个值设置成cookie,会有一个getCookie进行接收setStroage($_POST["username"], $_POST["password"]);echo "<script>window.location.href='index.php';

其实这时候cookie已经按我们设置的那个时间存储下来了,然后我们要做的就是免登陆功能,的后台服务器的处理,就像我们登陆其他软件,会提示一周之内免登陆密码,

就是下面的代码:

 function intialLoadInfo(){$("input:text").val(getCoolieByKey("username"));//这两个就是吧下面获取的之前输入过的用户名和密码进行自动填写(实现目的)$("input:password").val(getCoolieByKey("password"));}//通过key值获取cookiefunction getCoolieByKey(key){var cookie=document.cookie.split(";");//这行代码是吧cookie的值进行分离(split),以便于下面遍历(分离后就是一个数组一样)for(var i=0;i<cookie.length;i++){//遍历长度var value=cookie[i].trim();//去掉空格if (value.indexOf(key)==0){//判断是不是第一个值val=value.split("=");console.log(val[0]);return val[1];}}}

上面第一个方法执行getCookieByKey(key);

这个带参数的函数接收的参数就是我们上面封装好的myArr数据了;

然后详细解释就在代码了,大家可以参考了.

2.session:session是用来在服务器端存储用户信息,当浏览器关闭的时候,会自动销毁;

session_start();
超级数组$_SESSION可以实现session的设置与读取;
代码如下:

function se(array $arr)
{session_start();$_SESSION["username"] = $arr["username"];$_SESSION["password"] = $arr["password"];$_SESSION["loginIP"] = $arr["loginIP"];$_SESSION["loginTime"] = $arr["loginTime"];
}

首先就会上面的代码,一样是获取四个属性,放到我们的$_SESSION里面;存储下来:

然后就是上面那个代码,带啊可以看到有一个se

 $myArr = array_merge($myArr, array("loginIP" => $_SERVER["REMOTE_ADDR"], "loginTime" => time()));//这是穿的另外两个参数,一个是用户登录地址,另一个是cookie存活时间(会在寻获时间以为消失)se($myArr);

这里就是为了session写的;

他主要是存储四个属性,username.password.IP.time

上面代码中也注释;其实现在我们就可以在session里面查到我们这个自己创建的session了

3.JS端的localStorage:HTML5提供的本地存储方式(可以称为“键值对”数据库);

设置数据:localStorage.setItem("key","value");
读取数据:localStorage.getItem("key");读取的结果是一个字符串;
删除数据:localStorage.removeItem("key");

详细代码如下:

在html下面写的js文件就是  然后就是实现:

 $(function (){if (localStorage.getItem("username")!=""&&localStorage.getItem("password")!=""){document.getElementById("username").value=localStorage.getItem("username");document.getElementById("password").value=localStorage.getItem("password");}});

这个函数主要就是创建用php创建的

function setStroage($username, $password){echo "<script>localStorage.setItem('username'," . "'" . $username . "'" . ");localStorage.setItem('password'," . "'" . $password . "'" . ");</script>";
}

其实这个东西需要自己慢慢写   我虽然能写出来,但是每次用的时候还是要参考一下这个例子,所以希望我用了好长时间的万能例子对大家有用

实现一周之内自动登录的 cookie和session还有localStorage的存储机制相关推荐

  1. 一周内自动登录php,利用php实现一周之内自动登录存储机制(cookie、session、localStorage)...

    cookie.session.localStorage这三个应该是最让程序员头疼的了,我利用简单的登录界面的username和password来说明一下吧. 1.cookie用来存储用户相关数据,存储 ...

  2. php登录实现session记住密码,利用php实现一周之内自动登录存储机制(cookie、session、localStorage)...

    cookie.session.localStorage这三个应该是最让程序员头疼的了,我利用简单的登录界面的username和password来说明一下吧. 1.cookie用来存储用户相关数据,存储 ...

  3. 使用cookie实现一周内自动登录

    一般网站的登录界面都会有自动登录的一个选项.现在就来实现一个一周内自动登录的功能. 1.如果当用户登录的时候,在处理页,要判断是否选择了自动登录,然后实现将id和name存进cookie: if($a ...

  4. 网站1周内自动登录功能实现

    在很多比较大型的网址例如:CSDN,大家在登录时候会有一个[下次自动登录]的功能,该功能与我们的1周内自动登录功能基本类似.所谓的自动登录无非就是,绕过登录界 面,自动登录到系统主页. 自动登录的原理 ...

  5. JS-两周内自动登录功能

    1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset="UTF-8">5 <tit ...

  6. html如何实现自动登录,JS实现两周内自动登录功能

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 两周内自动登录 两周内自动登录 var oTxt1 = document.getElementsByName('u ...

  7. Cookie、session以及localStorage与sessionStorage之间的区别

    一.Cookie.session和localStorage的区别  cookie的内容主要包括:名字.值.过期时间.路径和域.路径与域一起构成cookie的作用范围.若不设置时间,则表示这个cooki ...

  8. Cookie、session和localStorage、以及sessionStorage之间的区别

    转载自https://www.cnblogs.com/zr123/p/8086525.html Cookie.session和localStorage.以及sessionStorage之间的区别 一. ...

  9. 清理localstorage_关于Cookie、Session、LocalStorage、Cache-Control(摘录)

    关于Cookie.Session.LocalStorage.Cache-Control,在总结前先了解一个过程:当用户在一个浏览器注册账号再登录,客户端和服务器发生了什么? 一.发生了什么? 1.用户 ...

最新文章

  1. Eclipse+Maven创建web项目
  2. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...
  3. 图灵2010.01书讯——看你错过了哪一本
  4. springmvc是如何和前端页面联系起来的
  5. 使用MySQL的LAST_INSERT_ID--转
  6. kmalloc、vmalloc、malloc的区别
  7. 【推荐系统】推荐系统评测指标
  8. 计算机术语设备透明性,计算机中术语透明性是什么意思?
  9. 前端学习(599):模拟移动设备
  10. 创建失败_【阿里云主机】二级域名创建失败解决方法
  11. 线条边框简笔画图片大全_简笔画猪 手抄报图片边框版式大全
  12. 罗永浩:如果没有特斯拉和马斯克 激动人心的电动车时代不会这么早的到来
  13. html ready 调用函数,Chrome和JQuery问题 - $(document).ready(function(){});在页面加载之前调用...
  14. Glide Golang包管理
  15. 善用佳软推荐几个很好用的软件以备使用
  16. 无法在驱动器1分区上安装W ndOwS,安装win10提示无法在驱动器0分区上安装windows
  17. echarts中的自定义tooltips
  18. 幼儿 Android App,中国幼儿园在线app
  19. 零基础学UI设计好学不?
  20. 前尘浮华一场梦 NOI2018 游记

热门文章

  1. PPT打不开提示访问出错怎么办
  2. python杂学之用turtle画熊二(附代码)
  3. 火影智能AI伪原创插件伪原创源码
  4. 男女老少皆宜的15种瘦身食物,著名人生保健专家撰写
  5. 抽象代数之pq阶群或者为循环群或者只有两种结构
  6. “销售方法”一个让大多数人撑握不正确的问题!
  7. 共享洗车机无人值守是怎样运营的?
  8. 网易云音乐上关于摇滚歌单的各种排行榜
  9. 零基础学python pdf-零基础学Python PDF 全彩影印版
  10. 对于光本身,光走一光年的距离需要多久?————狭义相对论-钟慢效应(时间膨胀)