php中实现记住密码下次自动登录的例子
《php中实现记住密码下次自动登录的例子》要点: PHP编程做网站的时候经常会碰到要实现记住密码,下次自动登录,一周内免登陆,一个月内免登陆这种需求.这种功能一般都是通过cookie来实现的.本篇文章将简单说一下如何使用php实现该需求的.当然实现该需求的方法有N多种. PHP编程整个过程就是用户在登陆的时候,如果选择了记住密码或者一周内免登陆等这个选项的时候,则在用户成功登陆操作完成之后,存储一个实现自动登录的cookie的数据到数据库的用户表里面,作为下次自动登录时验证用.验证通过则自动登录,否则需要输入用户名,密码进行登录.保存的这个cookie值则可以取一个随机码. PHP编程具体示例代码如下:
代码如下:
$username=trim($_POST['username']); $password=md5(trim($_POST['password'])); $ref_url=$_GET['req_url']; $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里面 ???setcookie("username",$username,time()+3600*24*365); ???setcookie("password",$password,time()+3600*24*365); ??} ??if(strpos($ref_url,"login.php")===false){ ???header("location:".$ref_url); ??}else{ ???header("location:main_user.php"); ??} ?} } PHP编程另外在访问网站的每个页面时,都要先进行一遍如下函数的检查.
代码如下:
//检查用户是否登录 function checklogin(){ ?if(empty($_SESSION['user_info'])){//检查一下session是不是为空 ??if(empty($_COOKIE['username'])||empty($_COOKIE['password'])){//如果session为空,并且用户没有选择记录登录状 ???header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);//转到登录页面,记录哀求的url,登录后跳转过去,用户体验好. ??}else{//用户选择了记住登录状态 ???$user=getUserInfo($_COOKIE['username'],$_COOKIE['password']);//去取用户的个人资料 ??if(empty($user)){//用户名密码不对没到取到信息,转到登录页面 ???header("location:login.php?req_url=".$_SERVER['REQUEST_URI']); ??}else{ ???$_SESSION['user_info']=$user;//用户名和密码对了,把用户的个人资料放到session里面 ??} ??} ?} } 《php中实现记住密码下次自动登录的例子》是否对您有启发,欢迎查看更多与《php中实现记住密码下次自动登录的例子》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在PHP中使用钱(十进制数)认为安全吗?
- PHP数组函数array_multisort()用法实例分析
- php – WooCommerce USPS Shipping Plugin出错
- php – 重定向后获取404’d文件的URL的最佳方法是什么?
- php – 在电子邮件模板中添加自定义属性 – Magento
- php – 在Silex中使用db支持的UserProvider进行用户身份验证
- 因添加两个webservice引用时提示:{"无法加载协定为“sms.W
- Symfony控制层深入详解
- php – 从Array1中的特定行值中减去Array2中的行值
- PHP中使用Session配合Javascript实现文件上传进度条功能