當前位置:首頁 » 編程語言 » php實現登陸

php實現登陸

發布時間: 2023-02-11 16:57:06

⑴ 請教用php實現自動登錄問題

1、在登錄頁面中添加一個復選框,讓用戶選擇是否願意在一定時間內實現自動登陸,例如兩周。

  • 代碼:

<input type="checkbox" name="autologin">兩周內自動登錄

2、在負責處理登錄過程的Servlet中,判斷用戶是否選擇了該復選框。如果是,則執行這兩個操作:向用戶發送兩個Cookie,以及向資料庫寫入一條相應的記錄。

  • 代碼:


Cookie ckUsername, ckSessionid;

if (autologin.equals("on")) {

// 如果用戶選擇了「兩周內自動登錄」,則向用戶發送兩個cookie。

// 一個cookie記錄用戶名,另一個記錄唯一的驗證碼,

// 並將此驗證碼寫入資料庫,以備用戶返回時查詢。(防止偽造cookie)

ckUsername = new Cookie("autoLoginUser", user.getUsername()); // user是代表用戶的bean

ckUsername.setMaxAge(60 * 60 * 24 * 14); //設置Cookie有效期為14天

res.addCookie(ckUsername);

sessionid = session.getId(); // 取得當前的session id

ckSessionid = new Cookie("sessionid", sessionid);

ckSessionid.setMaxAge(60 * 60 * 24 * 14);

res.addCookie(ckSessionid);

// 在資料庫中插入相應記錄

userSessionDAO.insertUserSession(user, sessionid);

}

3、實現自動登錄。因為用戶下次訪問的時候,可能直接訪問網站的任何頁面(例如通過收藏夾),而不一定是首頁或者登錄頁面,所以我們需要用Filter攔截到達該網站的所有請求,並執行自動登錄。

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

HttpServletRequest request = (HttpServletRequest) req;

HttpSession session = request.getSession(true);

String username;

String sessionid; // 此sessionid是上次用戶登錄時保存於用戶端的識別碼,用於用戶後續訪問的自動登錄。不是本次訪問的session id。

Cookie[] cookies;

CookieManager cm = new CookieManager(); // CookieManager是一個自定義的類,用於從Cookie數組中查找並返回指定名稱的Cookie值。

boolean isAutoLogin;

// 如果session中沒有user對象,則創建一個。

User user = (User) session.getAttribute("user");

if (user == null) {

user = new User(); // 此時user中的username屬性為"",表示用戶未登錄。

}

// 如果user對象的username為"",表示用戶未登錄。則執行自動登錄過程。

// 否則不自動登錄。

if (user.getUsername().equals("")) {

// 檢查用戶瀏覽器是否發送了上次登錄的用戶名和sessionid,

// 如果是,則為用戶自動登陸。

cookies = request.getCookies();

username = cm.getCookieValue(cookies, "autoLoginUser");

sessionid = cm.getCookieValue(cookies, "sessionid");

isAutoLogin = userSessionDAO.getAutoLoginState(username, sessionid); // 如果在資料庫中找到了相應記錄,則說明可以自動登錄。

if (isAutoLogin) {

user.setUsername(username);

user.setNickname(DBUtil.getNickName(username));

session.setAttribute("user", user); // 將user bean添加到session中。

}

}

chain.doFilter(req, resp);

}

⑵ php登陸頁面完整代碼

PHP登陸後跳轉到登陸前頁面,利用$_SERVER全局變數可以實現這個功能,下面有個不錯的示例,希望對大家有所幫助
最近手上一個小項目讓我接觸到PHP編程,簡單的登陸功能已經OK。可是在實際使用的時候發現一個問題:用戶A發送一個鏈接給用戶B,B打開時頁面提示登陸,可是登陸成功後,卻跳轉到了首頁,而並不是A發送的鏈接。為了有更好的用戶體驗,B登陸成功後應該自動跳轉到登陸前的鏈接。查了PHP幫助手冊,利用$_SERVER全局變數可以實現這個功能。 $_SERVER是PHP的一個超全局變數,關於$_SERVER變數的詳細解釋可以參考:http://www.php.net/manual/zh/reserved.variables.server.php 具體實現方法為:在提示用戶登錄的同時,在session或者cookie中記錄下請求頁面的URL;登錄驗證成功後在跳轉回該URL。 checklogin.php 代碼如下: session_start(); if (!isset ($_SESSION['login_ok'])) { echo "<script language=javascript>alert ('要訪問的頁面需要先登錄。');</script>"; $_SESSION['userurl'] = $_SERVER['REQUEST_URI']; echo '<script language=javascript>window.location.href="login.php"</script>'; } login.php 代碼如下: session_start(); //此處省略了賬號密碼驗證代碼,驗證OK再執行下面代碼 if (isset ($_SESSION['userurl'])) { //會話中有要跳轉的頁面 $url = $_SESSION['userurl']; } else { //沒有要跳轉的頁面,則轉到首頁 $url = "home.php"; } //0.5s後跳轉 echo "<meta http-equiv="refresh" content="0.5;url=$url">";

⑶ php如何實現登陸後返回原頁面

在跳轉到登錄頁面前要將訪客訪問的頁面的url作為參數傳遞過去,登錄驗證後,授予訪問許可權之後跳轉到該url指定的頁面。

比如登錄前的url為:openphp.html 當訪客訪問時,點擊無許可權,跳轉到登錄頁面的地址就為login.php?url=openphp.html,這樣在登錄時就可以用GET方式獲取該參數 openphp.html,登錄驗證成功後跳轉到openphp.html 這個頁面就可以了。

⑷ php登錄系統怎麼做

簡單地說,登錄系統,就是用php程序獲取等表單數據,並記錄相關數據進入資料庫,設置相關數據寫入session,記錄登錄狀態後,進入登陸後界面就可以了
當然還需要很多細節的知識,需要仔細了解了,可以從網上下載一個簡單登錄系統,研究研究吧!

⑸ PHP來實現網站的注冊和登錄

說明: 對於小白學習php還是先下一個phpstudy吧 比較便捷許多且自帶mysql

1、打開phpstudy並啟動

2、打開mysql管理器並啟動MYSQL-front 如圖所示

1、建立一個名為register的html文件

2、建立一個名為registApi的php文件並剛建立的html相連

-拿到用戶的欄位和密碼

-查詢是否有重名現象(註:可以在php中嵌入html語句但一般寫在外面如該圖末尾所示)

-根據返回值判斷是否成功

1、返回登錄頁面

2、創建一個名為loginApi的php文件並與剛剛的html相連接

3、若用戶登錄成功返回一個成功的界面所以創建一個success的html

⑹ 怎麼用php模擬登陸

php 模擬登陸,可以使用 curl,以下是示例代碼:


$post="name=2&userType=1&passwd=asdf&loginType=1&rand=6836&imageField.x=25&imageField.y=7";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,"http://網址/login.action");
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_jar);
$result=curl_exec($ch);
curl_close($ch);
熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:752
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:719
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:879
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:775
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:352
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:912
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:876