$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");

  }

 }

}

//检查用户是否登录

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实现记住密码自动登录的功能的更多相关文章

  1. php 记住密码自动登录

    当我们登录网站管理后台的时候,会有提示说记住登录状态,记住我等这样的提示,这个选项有什么用呢?如果选中了记登录状态后,下次在浏览这个网站后 台时就不用在填写用户名和密码了,在去登录了.下面写了一小代码 ...

  2. Android记住密码自动登录的实现

    我采用的是SharedPreferences来存取数据的,所以先简单的介绍一下SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,主要是保存 ...

  3. (转)asp.net 使用cookie完成记住密码自动登录

     代码如下 复制代码 string username = this.txtUserName.Text;//用户名        string password = this.txtPassword.T ...

  4. Win7下怎么设置让远程桌面连接记住密码下次登录不需再输入

    远程桌面连接功能想必大家都不会陌生吧,特别是使用VPS服务器的用户们经常会用到,为了服务器的安全每次都会把密码设置的很复制,但是这样也有一个麻烦,就是每次要桌面远程连接的时候都要输入这么复杂的密码,很 ...

  5. 一个简单WPF登陆界面,包含记住密码,自动登录等功能,简洁美观

    简介:这是一个自己以前用WPF设计的登陆界面,属于一个实验性的界面窗体,如果用于产品还很有不足.但也是有一点学习价值.后台代码略有复杂,但基本上都有注释 分类,略有代码经验的一般都能看懂. 登陆界面外 ...

  6. Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作

    首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...

  7. linux ssh 不用密码自动登录的几种方法

    1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运 ...

  8. PuTTY免输密码自动登录Linux

    1.使用PuTTY安装目录里的puttygen.exe工具.先点“生成(Generate)”,然后随意移动鼠标直到进度条填满,即可生成密钥 公钥部分:把上边那一段文字全选->复制备用.(不要点击 ...

  9. 运用cookie实现记住密码自动登陆:

    苦命的程序员:只有博客才能了解我的路!!! 废话不多说:直接上代码: 1.首先在现在登录的页面上来获取cookie的所有: 2.在验证页面来设置clookie的用户名和密码还有是否是自动登录: 到此就 ...

随机推荐

  1. CXF SOAP 及其安全控制

    通过上一篇文章,相信您已经学会了如何使用 CXF 开发基于 SOAP 的 WS 了.或许您目前对于底层原理性的东西还不太理解,心中难免会有些疑问: 什么是 WSDL? 什么是 SOAP? 如何能让 S ...

  2. C++模板入门教程(一)——模板概念与基本语法

    转载请保留以下声明 作者:赵宗晟 出处:http://www.cnblogs.com/zhao-zongsheng/ 前言 有些人提到C++模板就会下意识地觉得可怕.看不懂.避而远之.其实模板并不复杂 ...

  3. 使用ADO.NET查询和操作数据

    使用ADO.NET查询和操作数据 StringBuilder类: 用来定义可变字符串StringBuilder sb = new StringBuilder("");//追加字符串 ...

  4. JavaWeb学习笔记六 JSP

    JSP技术 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是一种Java s ...

  5. 转git取消commit

     如果不小心commit了一个不需要commit的文件,可以对其进行撤销. 先使用git log 查看 commit日志 commit 422bc088a7d6c5429f1d0760d008d8 ...

  6. 山西某公司NetApp存储不小心删除文件数据恢复成功案例

    故障情况简介: 需要进行数据恢复的设备是一台NetApp存储,共有24块磁盘组成.由于管理员删除文件夹,且时间比较久,删除有几个月时间. 可恢复性判断:由于NetApp中的文件系统的特性,WAFL是& ...

  7. VMware虚拟机误删除vmdk文件后如何恢复?

    故障描述: Dell R710系列服务器(用于VMware虚拟主机),Dell MD 3200系列存储(用于存放虚拟机文件),VMware ESXi 5.5版本,因意外断电,导致某台虚拟机不能正常启动 ...

  8. 数据故障的恢复-MSSQL ndf文件大小变为0 KB恢复过程

    一.故障描述 成都某客户,存储损坏,数据库崩溃.重组存储,恢复数据库文件,发现有四个ndf文件大小变为0 KB.数据库大小约80TB.数据库中有1223个文件,数据库每10天生成一个NDF文件,每个N ...

  9. pymysql安装和使用

    一.pymysql安装 安装mymysql前请确认python环境已经准备好,在之前的博文http://www.cnblogs.com/newzol/p/8682176.html有说明pythonwe ...

  10. Python内置函数(56)——locals

     英文文档: locals() Update and return a dictionary representing the current local symbol table. Free var ...