php 网站自动登录,网站实现记住密码并自动登录功能

网站的会员登录功能经常会碰到要实现记住密码,下次自动登录,一周内免登陆,一个月内免登陆这种需求。这种记录密码并自动登录的功能一般都是通过cookie来实现的。本篇文章将简单说一下如何使用php实现该需求的。当然实现该需求的方法有N多种。

整个过程就是用户在登录的时候,如果选择了记住密码或者一周内免登陆等这些选项的时候,则在用户成功执行登陆操作之后,存储一个实现自动登录的cookie数据到客户端浏览器中,作为下次自动登录时验证用。验证通过则自动登录,否则需要输入用户名,密码进行登录。

具体示例代码如下(以下代码仅供参考):

$username = trim($_POST['username']);

$password = md5(trim($_POST['password']));

$remember = $_POST['remember'];//是否自动登录标示

$err_msg='';

if($username==''||$password==''){

$err_msg="用户名和密码都不能为空";

}else{

$row=getUserInfo($username,$password); //从数据库匹配用户名和密码

if(empty($row)){

$err_msg="用户名或密码不正确";

}else{

$_SESSION['user_info']=$row;

if(!empty($remember)){//如果用户选择了,记录登录状态就把用户名和加了密的密码放到cookie里面,该处可设置cookie的有效时间

setcookie("username",$username,time()+3600*24*365);

setcookie("password",$password,time()+3600*24*365);

}

//执行登录成功后的页面跳转操作

}

}

另外在访问网站的每个页面时,都要先进行一遍如下函数的检查。

//检查用户是否登录

function checklogin(){

if(empty($_SESSION['user_info'])){//检查一下session是不是为空,判断用户是否已登录

if(empty($_COOKIE['username'])||empty($_COOKIE['password'])){//如果session为空,并且用户没有选择记录登录状

header("location:login.php");//转到登录页面

}else{//用户选择了记住登录状态

$user=getUserInfo($_COOKIE['username'],$_COOKIE['password']);//去取用户的个人资料

if(empty($user)){//用户名密码不对没到取到信息,转到登录页面

header("location:login.php");

}else{

$_SESSION['user_info']=$user;//登录成功,保存session,执行其它登录成功操作

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值