最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php同時使用session和cookie來保存用戶登錄信息的實(shí)現(xiàn)代碼

 更新時間:2016年05月13日 09:43:29   投稿:jingxian  
下面小編就為大家?guī)硪黄猵hp同時使用session和cookie來保存用戶登錄信息的實(shí)現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧

1、用戶登錄狀態(tài)操作類UserLogin

<?php

final class UserLogin {

 public function __construct() {
  
 }

 public static function getUserInfo() {
  if (isset($_COOKIE["user_id"])&&$_COOKIE["user_id"]&&(trim($_COOKIE["user_id"])!="")) {
   if (isset($_SESSION["USER_INFO"]))
    return $_SESSION["USER_INFO"];
   $dao = new UserDao();
   $user = $dao->find($_COOKIE["user_id"]);
   if ($user) {
    $_SESSION["USER_INFO"] = $user;
    setcookie("docloud_sid", session_id(), time() + 36000);
    setcookie("user_id", $_COOKIE["user_id"], time() + 36000);
    
    if (array_key_exists("selected_prj_id", $_COOKIE))
     setcookie("selected_prj_id", $_COOKIE["selected_prj_id"], time() + 36000);
    
    if (array_key_exists("selected_class_id", $_COOKIE))
     setcookie("selected_class_id", $_COOKIE["selected_class_id"], time() + 36000);
    
    if (array_key_exists("selected_image_id", $_COOKIE))
     setcookie("selected_image_id", $_COOKIE["selected_image_id"], time() + 36000);
    
    if (array_key_exists("test_image_ids", $_COOKIE))
     setcookie("test_image_ids", $_COOKIE["test_image_ids"], time() + 36000);
    
    if (array_key_exists("upload_image_ids", $_COOKIE))
     setcookie("upload_image_ids", $_COOKIE["upload_image_ids"], time() + 36000);
    return $user;
   }
  }
  self::clearCookie();
  return null;
 }

 public static function setUserInfo($userInfo) {
  $_SESSION["USER_INFO"] = $userInfo;
  setcookie("docloud_sid", session_id(), time() + 36000);
  setcookie("user_id", $userInfo->getId(), time() + 36000);
 }

 public static function isLogin() {
  if (self::getUserInfo()) {
   return true;
  }
  return false;
 }

 public static function delUserInfo() {
  self::clearCookie();
  session_destroy();
 }
 
 private static function clearCookie() {
  setcookie("docloud_sid", "", time() - 36000);
  setcookie("user_id", "", time() - 36000);
  setcookie("selected_prj_id", "", time() - 36000);
  setcookie("selected_class_id", "", time() - 36000);
  setcookie("selected_image_id", "", time() - 36000);
  setcookie("test_image_ids", "", time() - 36000);
  setcookie("upload_image_ids", "", time() - 36000);
 }

}

?>

2、在用戶輸入用戶名、密碼處調(diào)用來做相關(guān)判定

<?php
require_once 'Init.php';

// if logged in, logout
if (UserLogin::isLogin() && $_COOKIE["user_id"]==1) {
 UserLogin::delUserInfo();
}
else if (UserLogin::isLogin()){
 Utils::redirect('welcome');
}

$username = null;
$password = null;

$msg = "";

if (isset($_POST['username']) && isset($_POST['password'])) {
 $username = addslashes(trim(stripslashes($_POST ['username'])));
 $password = addslashes(trim(stripslashes($_POST ['password'])));
 // validate
 $errors = LoginValidator::validate($username, $password);
 
 if (empty($errors)) {
  // save
  $dao = new UserDao();
  $user = $dao->findByName($username);
  $last_login_ip = Utils::getIpAddress();
  $user->setLastLoginIp($last_login_ip);
  $now = new DateTime();
  $user->setLastLoginTime($now);
  $dao->save($user);
  UserLogin::setUserInfo($user);
  Flash::addFlash('登錄成功!');
  Utils::redirect('welcome');
 }
 
 foreach ($errors as $e) {
  $msg .= $e->getMessage()."<br>";
 }
}

?>

以上這篇php同時使用session和cookie來保存用戶登錄信息的實(shí)現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • php支付寶系列之電腦網(wǎng)站支付

    php支付寶系列之電腦網(wǎng)站支付

    這篇文章主要為大家詳細(xì)介紹了php支付寶系列之電腦網(wǎng)站支付,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • php+lottery.js實(shí)現(xiàn)九宮格抽獎功能

    php+lottery.js實(shí)現(xiàn)九宮格抽獎功能

    這篇文章主要介紹了php+lottery.js制作九宮格抽獎實(shí)例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • php實(shí)現(xiàn)JWT(json web token)鑒權(quán)實(shí)例詳解

    php實(shí)現(xiàn)JWT(json web token)鑒權(quán)實(shí)例詳解

    這篇文章主要介紹了php實(shí)現(xiàn)JWT(json web token)鑒權(quán)實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • swoole鎖的機(jī)制代碼實(shí)例講解

    swoole鎖的機(jī)制代碼實(shí)例講解

    這篇文章主要介紹了swoole鎖的機(jī)制代碼實(shí)例講解,對于鎖的介紹講解的很清晰,有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • Elasticsearch屬性單詞常用解析說明

    Elasticsearch屬性單詞常用解析說明

    這篇文章主要介紹了Elasticsearch屬性單詞常用解析說明,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Yii中表單用法實(shí)例詳解

    Yii中表單用法實(shí)例詳解

    這篇文章主要介紹了Yii中表單用法,結(jié)合實(shí)例形式較為詳細(xì)的分析總結(jié)了Yii針對表單的各種常用操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-01-01
  • 跟我學(xué)Laravel之配置Laravel

    跟我學(xué)Laravel之配置Laravel

    所有關(guān)于Laravel框架的配置文件都存放在app/config目錄里。所有文件里的配置選項(xiàng)都有說明文檔,因此你可以輕松的查看這些文件,并熟悉這些配置項(xiàng)。
    2014-10-10
  • php三元運(yùn)算符知識匯總

    php三元運(yùn)算符知識匯總

    三元運(yùn)算符語法:條件 ? 結(jié)果1 : 結(jié)果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結(jié)果1,不滿足時結(jié)果2。下面我們來詳細(xì)探討下。
    2015-07-07
  • ThinkPHP頁面跳轉(zhuǎn)success與error方法概述

    ThinkPHP頁面跳轉(zhuǎn)success與error方法概述

    這篇文章主要介紹了ThinkPHP頁面跳轉(zhuǎn)success與error方法概述,需要的朋友可以參考下
    2014-06-06
  • Laravel中前端js上傳圖片到七牛云的示例代碼

    Laravel中前端js上傳圖片到七牛云的示例代碼

    本篇文章主要介紹了Laravel中前端js上傳圖片到七牛云的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-09-09

最新評論

重庆市| 七台河市| 海原县| 迭部县| 蕉岭县| 封丘县| 临澧县| 二连浩特市| 江门市| 云和县| 红安县| 马公市| 芮城县| 新和县| 长泰县| 东丽区| 韩城市| 许昌县| 栖霞市| 积石山| 富源县| 永登县| 泽州县| 成安县| 昌平区| 昌黎县| 铜陵市| 松江区| 耒阳市| 房产| 米易县| 陆河县| 青川县| 伊宁县| 织金县| 宝山区| 佛坪县| 内丘县| 全南县| 富宁县| 金秀|