国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php中實現記住密碼下次自動登錄的例子

2024-05-04 23:26:57
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php中實現記住密碼下次自動登錄的例子,本文使用cookie實現記住密碼和自動登錄功能,需要的朋友可以參考下
 
 

做網站的時候經常會碰到要實現記住密碼,下次自動登錄,一周內免登陸,一個月內免登陸這種需求。這種功能一般都是通過cookie來實現的。本篇文章將簡單說一下如何使用php實現該需求的。當然實現該需求的方法有N多種。

整個過程就是用戶在登陸的時候,如果選擇了記住密碼或者一周內免登陸等這個選項的時候,則在用戶成功登陸操作完成之后,存儲一個實現自動登錄的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里面
  }
  }
 }
}
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华池县| 沂南县| 砀山县| 祁门县| 抚州市| 马公市| 吐鲁番市| 琼海市| 涟水县| 青阳县| 岳西县| 密云县| 喀什市| 大关县| 南充市| 临江市| 石嘴山市| 迭部县| 临桂县| 磴口县| 泗阳县| 三门峡市| 顺义区| 正蓝旗| 抚顺县| 曲沃县| 石楼县| 嵊泗县| 黑河市| 岳阳县| 西乌珠穆沁旗| 襄汾县| 满洲里市| 寿宁县| 阿荣旗| 香港| 新源县| 东山县| 保定市| 甘德县| 孟连|