php同时使用session和cookie来保存用户登录信息的实现代码

Original 2017-01-05 14:07:09 261
abstract:1、用户登录状态操作类UserLogin

1、用户登录状态操作类UserLogin

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、在用户输入用户名、密码处调用来做相关判定

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()."
"; } } ?>

更多关于php同时使用session和cookie来保存用户登录信息的实现代码请关注PHP中文网(m.sbmmt.com)其他文章!

Release Notes

Popular Entries