首頁 > 後端開發 > php教程 > php根據session與cookie寫的使用者登入狀態操作類

php根據session與cookie寫的使用者登入狀態操作類

WBOY
發布: 2016-07-25 09:03:09
原創
935 人瀏覽過
  1. final class UserLogin {

  2. public function __construct() {
  3. } ; 🎜 >

    public static function getUserInfo() {

  4. if (isset($_COOKIE["user_id"])&&$_COOKIE["user_id"]&&(trim($_COOKIE["user_id"])!=""user_id"]&&(trim($_COOKIE["user_id"])!=" " )) {
  5. if (isset($_SESSION["USER_INFO"]))
  6. return $_SESSION["USER_INFO"];
  7. $dao = new UserDao();find ($_COOKIE["user_id"]);
  8. if ($user) {
  9. $_SESSION["USER_INFO"] = $user;
  10. setcookie("docloud_sid", session_id(), time () + 36000);
  11. setcookie("user_id", $_COOKIE["user_id"], time() + 36000);
  12. if (array_key_exists("selected_prj_id", $ setcookie( "selected_prj_id", $_COOKIE["selected_prj_id"], time() + 36000);
  13. if (array_key_exists("selected_class_id"ookie_lectse_class_id"),Cone_pateSp生活)" $ _COOKIE[" selected_class_id"], time() + 36000);
  14. if (array_key_exists("selected_image_id", $_COOKIE))
  15. setcookieage("selected_image")" time () + 36000);
  16. if (array_key_exists("test_image_ids", $_COOKIE))
  17. setcookie("test_image_ids", $_COOKIE["test_image_idsookie("test_image_ids", $_COOKIE["test_image_ids); 🎜 >
  18. if (array_key_exists("upload_image_ids", $_COOKIE))
  19. setcookie("upload_image_ids", $_COOKIE["upload_image_ids"], time(user. > }
  20. }
  21. self::clearCookie();
  22. 回傳null;
  23. }
  24. public static function setUserInfo($userInfo) {

  25. $_SESSION [ "USER_INFO"] = $userInfo;
  26. setcookie("docloud_sid", session_id(), time() + 36000);
  27. setcookie("user_id ", $InfoInfo->getId(), time() + 36000 );
  28. }
  29. public static function isLogin() {

  30. if (self::getUserInfo()) {
  31. return true;
  32. }
  33. return false;
  34. }
  35. 公用靜態函數delUserInfo() {
  36. self::clearCookie();
  37. session_destroy();
  38. }
  39. 靜態靜態函式clearCookie() {
  40. setcookie("docloud_sid", "", time() - 36000);
  41. setcookie("user_id", "", time() - 36000);
  42. setcookie ( "selected_prj_id", "", time() - 36000);
  43. setcookie("selected_class_id", "", time() - 36000);
  44. setcookie("selected_image_id", "", time( 36000 );
  45. setcookie("test_image_ids", "", time( ) - 36000);
  46. setcookie("upload_image_ids", "", time() - 36000);
  47. ?>
  48. 複製程式碼
  49. 2、在使用者輸入使用者名稱、密碼處呼叫一個相關判定

    1. require_once 'Init.php';

    2. if (UserLogin::isLogin() && $_COOKIE["user_id"]==1) {

    3. UserLogin::delUserInfo();
    4. }
    5. else if (UserLogin ::isLogin()){
    6. Utils::redirect('welcome');
    7. }
    8. $使用者名稱= null;

    9. $密碼= null; p>
    10. $msg = "";

    11. if (isset($_POST['使用者名稱']) && isset($_POST[ '密碼'])) {

    12. $username = addslashes(trim(stripslashes($_POST ['用戶名'])));
    13. $password = addslashes(trim(stripslashes($_POST ['密碼'])) ));
    14. // 驗證
    15. $errors = LoginValidator::validate($username, $password);
    16. if (empty($errors)) {
    17. // 儲存
    18. $dao = new UserDao();
    19. $user = $dao->findByName($username);
    20. $last_login_ip = Utils::getIpAddress();
    21. $user->setLastLoginIp($ last_login_ip); now = new DateTime();
    22. $user->setLastLoginTime($now);
    23. $dao->save($user);
    24. UserLogin::setUserInfo( $user);
    25. Flash: :addFlash('登入成功!');
    26. Utils::redirect('welcome');
    27. }
    28. foreach ($errors as $e) {
    29. $msg .= $msg .= $msg . e->getMessage()."
      ";
    30. }
    31. }
    32. ?>
    複製程式碼

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板