今天主要做的是Remember Me(记住我)功能的实现

        功能就是让网站登录过的人只要不注销,下次打开网站之后直接进入,不用重复登录,此功能主要是session与cookie的配合运用,具体实现是这样的,在登录页面判断并完成登录,然后将所需数据写入session及cookie中,代码如下$_SESSION['name']=$user->name; 此处用的是ezSQL组件,因此写入session是这种代码,也可以吧需要用的的代码写入COOKIE并设置过期时间,如setcookie("name",$_SESSION['name'],time()+3600*24*7);直接把session中的值传给COOKIE,Remember Me是一个单选框<input type="checkbox"  name="remember" id="remember" value="1" />判断post值为1的话,把所有需要的数据写入session,前台直接登录后台就比较简单了,因为判断登录成功后才会写入session和cookie,因此前台页面只需判断cookie时候存在值即可,但为安全把判断的值写的相对多点为好,代码如下

<?php
if(isset($_COOKIE['name']) && isset($_COOKIE['Password']) && isset($_COOKIE['Email'])  ){
if($_COOKIE['name']!="" && $_COOKIE['Password']!='' && $_COOKIE['Email']!="")
{
header("location:main.php");
}
}

?>

基本大概是这样的,在做的过程中,我主要是先了解代码,然后切入,相对于来说比较耗费时间,其中遇到的问题主要是逻辑处理,好好修改,基本已实现所需的功能。

登出注销的话直接把cookie清空即可,代码如下

setcookie("name","", time() - 3600);
setcookie("user_id","", time() - 3600);
setcookie("Email","", time() - 3600);
setcookie("Password","", time() - 3600);
setcookie("remember","", time() - 3600);

设置到期时间为24小时前即可。

转载于:https://www.cnblogs.com/xinyu2017/p/7397719.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值