php 依据session与cookie用户登录状态操作类,sessioncookie_PHP教程
php 依据session与cookie用户登录状态操作类,sessioncookie
1、用户登录状态操作类UserLogin

<?<span>php </span><span>final</span> <span>class</span><span> UserLogin { </span><span>public</span> <span>function</span><span> __construct() { } </span><span>public</span> <span>static</span> <span>function</span><span> getUserInfo() { </span><span>if</span> (<span>isset</span>(<span>$_COOKIE</span>["user_id"])&&<span>$_COOKIE</span>["user_id"]&&(<span>trim</span>(<span>$_COOKIE</span>["user_id"])!=""<span>)) { </span><span>if</span> (<span>isset</span>(<span>$_SESSION</span>["USER_INFO"<span>])) </span><span>return</span> <span>$_SESSION</span>["USER_INFO"<span>]; </span><span>$dao</span> = <span>new</span><span> UserDao(); </span><span>$user</span> = <span>$dao</span>->find(<span>$_COOKIE</span>["user_id"<span>]); </span><span>if</span> (<span>$user</span><span>) { </span><span>$_SESSION</span>["USER_INFO"] = <span>$user</span><span>; </span><span>setcookie</span>("docloud_sid", <span>session_id</span>(), <span>time</span>() + 36000<span>); </span><span>setcookie</span>("user_id", <span>$_COOKIE</span>["user_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("selected_prj_id", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("selected_prj_id", <span>$_COOKIE</span>["selected_prj_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("selected_class_id", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("selected_class_id", <span>$_COOKIE</span>["selected_class_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("selected_image_id", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("selected_image_id", <span>$_COOKIE</span>["selected_image_id"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("test_image_ids", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("test_image_ids", <span>$_COOKIE</span>["test_image_ids"], <span>time</span>() + 36000<span>); </span><span>if</span> (<span>array_key_exists</span>("upload_image_ids", <span>$_COOKIE</span><span>)) </span><span>setcookie</span>("upload_image_ids", <span>$_COOKIE</span>["upload_image_ids"], <span>time</span>() + 36000<span>); </span><span>return</span> <span>$user</span><span>; } } self</span>::<span>clearCookie(); </span><span>return</span> <span>null</span><span>; } </span><span>public</span> <span>static</span> <span>function</span> setUserInfo(<span>$userInfo</span><span>) { </span><span>$_SESSION</span>["USER_INFO"] = <span>$userInfo</span><span>; </span><span>setcookie</span>("docloud_sid", <span>session_id</span>(), <span>time</span>() + 36000<span>); </span><span>setcookie</span>("user_id", <span>$userInfo</span>->getId(), <span>time</span>() + 36000<span>); } </span><span>public</span> <span>static</span> <span>function</span><span> isLogin() { </span><span>if</span> (self::<span>getUserInfo()) { </span><span>return</span> <span>true</span><span>; } </span><span>return</span> <span>false</span><span>; } </span><span>public</span> <span>static</span> <span>function</span><span> delUserInfo() { self</span>::<span>clearCookie(); </span><span>session_destroy</span><span>(); } </span><span>private</span> <span>static</span> <span>function</span><span> clearCookie() { </span><span>setcookie</span>("docloud_sid", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("user_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("selected_prj_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("selected_class_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("selected_image_id", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("test_image_ids", "", <span>time</span>() - 36000<span>); </span><span>setcookie</span>("upload_image_ids", "", <span>time</span>() - 36000<span>); } } </span>?>

2、在用户输入用户名、密码处调用来做相关判定

<?<span>php </span><span>require_once</span> 'Init.php'<span>; </span><span>//</span><span> if logged in, logout</span> <span>if</span> (UserLogin::isLogin() && <span>$_COOKIE</span>["user_id"]==1<span>) { UserLogin</span>::<span>delUserInfo(); } </span><span>else</span> <span>if</span> (UserLogin::<span>isLogin()){ Utils</span>::redirect('welcome'<span>); } </span><span>$username</span> = <span>null</span><span>; </span><span>$password</span> = <span>null</span><span>; </span><span>$msg</span> = ""<span>; </span><span>if</span> (<span>isset</span>(<span>$_POST</span>['username']) && <span>isset</span>(<span>$_POST</span>['password'<span>])) { </span><span>$username</span> = <span>addslashes</span>(<span>trim</span>(<span>stripslashes</span>(<span>$_POST</span> ['username'<span>]))); </span><span>$password</span> = <span>addslashes</span>(<span>trim</span>(<span>stripslashes</span>(<span>$_POST</span> ['password'<span>]))); </span><span>//</span><span> validate</span> <span>$errors</span> = LoginValidator::validate(<span>$username</span>, <span>$password</span><span>); </span><span>if</span> (<span>empty</span>(<span>$errors</span><span>)) { </span><span>//</span><span> save</span> <span>$dao</span> = <span>new</span><span> UserDao(); </span><span>$user</span> = <span>$dao</span>->findByName(<span>$username</span><span>); </span><span>$last_login_ip</span> = Utils::<span>getIpAddress(); </span><span>$user</span>->setLastLoginIp(<span>$last_login_ip</span><span>); </span><span>$now</span> = <span>new</span><span> DateTime(); </span><span>$user</span>->setLastLoginTime(<span>$now</span><span>); </span><span>$dao</span>->save(<span>$user</span><span>); UserLogin</span>::setUserInfo(<span>$user</span><span>); Flash</span>::addFlash('登录成功!'<span>); Utils</span>::redirect('welcome'<span>); } </span><span>foreach</span> (<span>$errors</span> <span>as</span> <span>$e</span><span>) { </span><span>$msg</span> .= <span>$e</span>->getMessage()."<br>"<span>; } } </span>?>


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

許多Windows用戶最近在嘗試存取GoogleChrome瀏覽器中的網站URL時遇到了一個不尋常的錯誤,稱為Roblox403禁止錯誤。即使在多次重新啟動Chrome應用程式後,他們也無能為力。此錯誤可能有幾個潛在原因,我們在下面概述並列出了其中一些。 Chrome的瀏覽歷史記錄和其他快取以及損壞的資料不穩定的互聯網連接網站網址不正確從第三方來源安裝的擴展在考慮了上述所有方面之後,我們提出了一些修復程序,可以幫助用戶解決此問題。如果您遇到相同的問題,請查看本文中的解決方案。修復1

Cookie通常儲存在瀏覽器的Cookie資料夾中的,瀏覽器中的Cookie檔案通常以二進位或SQLite格式存儲,如果直接開啟Cookie文件,可能會看到一些亂碼或無法讀取的內容,因此最好使用瀏覽器提供的Cookie管理介面來檢視和管理Cookie。

電腦上的Cookie儲存在瀏覽器的特定位置,具體位置取決於使用的瀏覽器和作業系統:1、Google Chrome, 儲存在C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies中等等。

手機上的Cookie儲存在行動裝置的瀏覽器應用程式中:1、在iOS裝置上,Cookie儲存在Safari瀏覽器的Settings -> Safari -> Advanced -> Website Data中;2、在Android裝置上,Cookie儲存在Chrome瀏覽器的Settings -> Site settings -> Cookies中等等。

Cookie運作方式涉及到伺服器發送Cookie、瀏覽器儲存Cookie以及瀏覽器對Cookie的處理和儲存。詳細介紹:1、伺服器發送Cookie,伺服器會傳送一個包含Cookie的HTTP回應標頭給瀏覽器。這個Cookie包含了一些訊息,例如使用者的身份認證、偏好設定或購物車內容等,瀏覽器接收到這個Cookie後,會將它儲存在使用者的電腦上;2、瀏覽器儲存Cookie等等。

清除cookie產生的影響有重置個人化設定和偏好、影響廣告體驗、破壞登入狀態和記住密碼功能。詳細介紹:1、重置個人化設定和偏好,如果清除了cookie,購物車將被重置為空,需要重新添加商品,同樣清除cookie還會導致在社群媒體平台上的登入狀態遺失,需要重新輸入使用者名稱和密碼;2、影響廣告體驗,如果清除了cookie,網站將無法了解我們的興趣和偏好,會顯示無關的廣告等等。

隨著網路的普及,我們使用瀏覽器進行上網已經成為一種生活方式。在日常使用瀏覽器過程中,我們常會遇到需要輸入帳號密碼的情況,如網購、社交、郵件等。這些資訊需要瀏覽器記錄下來,以便下次造訪時不需要再次輸入,這時候Cookie就派上了用場。什麼是Cookie? Cookie是指由伺服器端發送到使用者瀏覽器上並儲存在本地的一種小型資料文件,它包含了一些網站的使用者行為

Cookie洩漏的危害有導致個人識別資訊被竊、個人線上行為被追蹤、帳戶被竊等。詳細介紹:1、個人識別資訊被盜竊,例如姓名、電子郵件地址、電話號碼等,這些資訊可能被不法分子用於進行身份盜竊、欺詐等違法行為;2、個人在線行為被追踪,通過分析cookie中的數據,不法分子可以了解用戶的瀏覽歷史、購物偏好、興趣愛好等;3、帳戶被盜,繞過登入驗證,直接存取用戶的帳號等等。
