php 登录记住密码,php 记住密码自动登录

做网站的时候会碰到记住密码,下次自动登录,一周内免登陆,一个月内免登陆这种需求。这种功能一般通过cookie来实现的。用户在登陆的时候,如果选择了记住密码或者一周内免登陆等这个选项的时候,则在用户成功登陆操作完成之后,存储一个实现自动登录的cookie的数据到数据库的用户表里面,作为下次自动登录时验证用。验证通过则自动登录,否则需要输入用户名,密码进行登录。保存的这个cookie值则可以取一个随机码。代码如下:

$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里面

}

}

}

}

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/8500.html

75d087ef9a9fb11dc373caaf33adbf7f.png

微信打赏

支付宝打赏

感谢您对作者Bruin的打赏,我们会更加努力!    如果您想成为作者,请点我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带有Spring Security的OAuth 2.0快速指南

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 在构建Web应用程序时,必须进行身份验证和授权。 然而,正确地做…

工业以太网交换机在实际应用中的优势

相信大家对交换机应该都不陌生,交换机可以说应用于网络通信的各个方面,它极大的帮助我们提高了工作效率;但是一般我们会分为工业交换机和普通交换机,在实际应用当中,不同的环境和场合我们还是要有所区分的,…

带有Oracle Digital Assistant和Fn Project的会话式UI。 第三部分,迁移到云

在本文中,我将继续讲述在Oracle Digital Assistant和Oracle Digital Assistant的 基础上为FlexDeploy实现对话式UI的故事。 Fn项目 。 今天,我将围绕聊天机器人工作的无服务器API移到云中,因此整个解决方案都在云中工作: 该API是…

8口网管型工业以太网交换机产品性能介绍

8端口以太网交换机因其端口数量、价格都比较适中,所以是比较常见的一款产品。杭州飞畅科技为满足不同客户的需要,就8端口的工业交换机分别研发了网管型、非网管、8电口、2光6电、4光4电等多种规格。如果您这边有特殊规格的需求,飞畅科技也可以…

一号信令是什么?1号信令和7号信令的区别介绍!

1号信令又称为多频互控信令或随路信令。那么,什么是一号信令?一号信令是怎么分类的?1号信令常见问题有哪些?1号信令和7号信令之间有哪些区别呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧! 一、1号…

RS232、RS485和CAN协议总结与对比

RS232简单实用,缺陷是不支持多设备间的互连,缺少拓扑结构。由此诞生了RS485。RS485最重要的是采用两条差分线代替RS232的单线传输,支持拓扑结构。RS485属于电气层的协议,物理上的实现大都在RS232基础上完成。缺陷是主从轮询的方式…

php 回到顶部,jquery如何实现点击网页回到顶部效果?(图文+视频)

本篇文章主要给大家介绍如何用jquery代码实现网页回到顶部的效果。我们在浏览各大网站页面时,想必大家肯定都遇到过,当阅览一个长页面时,拉到下面部分会出现类似回到顶部的按钮特效吧。这种点击回到顶部的功能特效,可以很大程度上…

使用JDK 13查看TLS配置

JDK 13 Early Access Build 16现在可用,它带来的有趣的功能之一是能够使keytool命令行工具显示当前系统的TLS配置信息 。 这比尝试在单独的文档中查找受支持的TLS信息并使该信息与自己的JDK供应商和版本更容易。 要查看JDK 13 Early Access Build 16的TLS配置详细信…

串口服务器常见异常情况排除方法介绍

串口服务器就像一台带CPU、实时操作系统和TCP/IP协议的微型电脑,方便在串口和网络设备中传输数据。在使用串口服务器的过程中,一般按照操作手册进行操作基本上可以解决问题,但是,在实际操作中还是会出现一些异常故障,今…

ckfinder php 配置,php – 在Laravel 5中为CKEditor设置路径以使用CKFinder

您好我正在尝试将CKFinder与CKEditor集成到一个laravel项目中.我在CKEditor的config.js文件中进行了以下设置:CKEDITOR.editorConfig function( config ) {// Define changes to default configuration here. For example:// config.language fr;config.uiColor …

工业级光模块是什么?

可能很多人都不知道,光模块是所有网络连接部署中不可或缺的组成部分。一个产品的出现往往与市场需求相对应,我们平时所接触到的光模块大部分只能满足商业数据中心的网络部署,那么大型工业的网络部署该如何满足实现呢?在这种情况下&#xff0…

jvm开源_开源JVM Sampling Profiler

jvm开源众所周知 ,大多数现有的采样Java Profiler都必须在安全的地方进行堆栈跟踪收集。 诸如采样探查器之类的探查器就是这种情况,它使用SUN / Oracle管理代理来收集其堆栈跟踪。 这种方法的问题在于,由于不是程序中的每个点都不是安全点&am…

discuz和php的区别,discuz和phpwind优劣比较

discuz!(简称dz)和phpwind(简称pw)是国内最著名的两个PHP论坛系统,随着它们相继宣布开源以后,在各方面,不管技术上,还是功能上,还是界面上,都有了长足的发展,声威大振,远非国外那些功…

串口服务器常见五大问题解决方案

串口服务器提供串口转网络功能,使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩展串口设备的通信距离。为了更方便我们操作和使用,今天飞畅科技的小编来为大家介绍下串口服务器常见五大问题解决方案&a…

weblogic工具_WebLogic Classloader分析工具

weblogic工具WebLogic Server具有一个名为Classloader Analysis Tool的内置Web应用程序,您可以通过http:// localhost:7001 / wls-cat访问它 您需要使用为/ console Webapp配置的同一用户登录。 使用CAT,您可以检查应用程序在服务…

必看!工业交换机必须满足这些标准才能称合格

我们都知道,工业交换机是专为工业环境而生产设计的,所以工业交换机的要求比一般商业交换机要严苛的多!但现在市场上很多打着工业级交换机的幌子,卖的是商业级别的,因为很多客户其实分辨不出来,一旦出现了问…

php中的id怎么传值,uniapp如何跳转页面传值

uniapp跳转页面传值的方法:首先给点击事件传入id;然后Methods中写方法,代码为【uni.navigateTo({url:opportunity-form?idid})】;最后在详情页接收参数。本教程操作环境:windows7系统、uni-app2.5.1版本,该…

二层和三层工业交换机的主要参数说明

工业交换机是工业数据通信领域重要的设备,可以这样说,如果没有工业交换机,很多地方或者项目都联不上网,更不提进行远程网络管理了!目前比较流行的工业交换机又分为二层和三层,之前我们也给大家介绍过什么是…

工业级PoE交换机是如何进行工作的?使用中要注意什么?

工业级PoE交换机应用非常广泛,许多供电不方便的项目基本都采用了工业级PoE交换机来进行数据传输通信,而且大都是非网管型的,即插即用,配置简单,非常方便!但你知道它是如何进行工作的吗?我们在使…

具有Azure功能的无服务器API

在这篇文章中,我将研究一个非常简单的用例。 在执行部署管道时, FlexDeploy可能会产生一些应被批准或拒绝的人工任务。 例如,某人必须批准对生产环境的部署。 可以在FlexDeploy UI中或通过某些外部通信渠道来完成。 今天,我将重点…