php用戶登錄源代碼,php用戶管理源碼

本文目錄一覽:

求php實現登錄成功後返回首頁並在原登錄處顯示用戶名的源代碼(類似於鐵血網的登錄)

?php

session_start(); //用SESSION記錄模式,並開啟。

//用戶登錄信息,並記錄

if(@$_POST[‘GoLog’]){

 $_SESSION[‘user’]   = @$_POST[‘login’];

}

//主頁的檢查用戶登錄與否,並顯示歡迎信息

if(@$_SESSION[‘user’] == ”){

 echo “目前沒有登錄”;

}else{

 echo $_SESSION[‘user’].”歡迎你的回來!”;

}

?

form action=” method=’post’

 input type=’text’ name=’login’ /

 input type=’submit’ name=’GoLog’ value=’登錄’ /

/form

我只是給你寫了個原理,你可以加入更多的判斷。

跪求簡單的php用戶註冊源碼

?php

include ‘conn.php’;

if($_POST[‘submit’]){

$sql = “INSERT INTO admin (Aid,Aname,Apass) values (”,’$_POST[Aname]’,’$_POST[Apass]’)”;

mysql_query($sql);

echo $sql;

}

?

script type=”text/javascript”

function regcheck(){

if(regform.Aname.value==””){

alert(“用戶名不得為空”);

regform.Aname.focus();

return false;

}

if(regform.Apass.value==””){

alert(“密碼不得為空”);

regform.Apass.focus();

return false;

}

}

/script

form action=”zhuceyeA.php” name=”regform” method=”post” onsubmit=”return regcheck()”

註冊管理員br

用戶名:input type=”text” name=”Aname”

密碼:input type=”password” name=”Apass”

input type=”submit” name=”submit” value=”註冊”

/form

//我也是初學者 大四 這個代碼是我自己練手做的 數據庫很簡單 ID 用戶名 密碼(明文顯示,為了簡便起見) 高手不要笑話我。。。。

求一簡單的PHP登錄源碼

夠簡單吧。。密碼自帶。。不用連接數據庫。。只是登錄而已。

要是連接數據庫無非就是加一個連接和查詢語句。。然後判斷if正確不

?php

$admin[‘check’] = “1”;

$admin[‘pass’] = “1234567”;

$hidden = “saiy”;

$admin[‘port’] = “80,”;

$self = $_SERVER[‘PHP_SELF’];

if($admin[‘check’] == “1”) {

if ($_GET[‘action’] == “logout”) {

setcookie (“adminpass”, “”);echo “meta http-equiv=\”refresh\” content=\”0;URL=”.$self.”\””;

exit;

}

if ($_POST[‘do’] == ‘login’) {

$thepass=trim($_POST[‘adminpass’]);

if ($admin[‘pass’] == $thepass) {

setcookie (“adminpass”,$thepass,time()+(1*24*3600));echo “meta http-equiv=\”refresh\” content=\”0;URL=”.$self.”\””;

exit;

}

}

if (isset($_COOKIE[‘adminpass’])) {

if ($_COOKIE[‘adminpass’] != $admin[‘pass’]) {

loginpage();

}

}

else {

loginpage();

}

}

?

這裡是網頁html代碼

?php

/*======================================================

函數

======================================================*/

// 登陸入口

function loginpage() {

global $hidden;

if($hidden==”saiy”){

?

!– 登陸入口–

style type=”text/css”

input {font-family: “Verdana”;font-size: “11px”;BACKGROUND-COLOR: “#FFFFFF”;height: “18px”;border: “1px solid #666666”;}

a{text-decoration:none}

/style

table width=”416″ border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″

form method=”POST” action=””

tr

td height=”30″ align=”center”/td

/tr

tr

td height=”30″ align=”center”歡迎使用。。請先登陸!/td

/tr

tr

td height=”30″ align=”center”

span style=”font-size: 11px; font-family: Verdana”Password: /spaninput name=”adminpass” type=”password” size=”20″

input type=”hidden” name=”do” value=”login”

input type=”submit” value=”Login”

/td

/tr

/form

form

?php

{

?

/table

div align=”right” style=”color:#FFFFFF”a href=”del.php” style=”color:#FFFFFF”Powered By cfly/a/div

?}

}?

?php

exit;

}//end loginpage()

?

請編一個PHP的登錄界面

?php

if(isset($_GET[‘xname’]) isset($_GET[‘pass’]))

{

$user=$_GET[‘xname’];

$pass=$_GET[‘pass’];

if($user!=”” $pass!=””) //如果用戶名密碼不為空

{

$conn=mysql_connect(“localhost”,”root”,”123″);

mysql_select_db(“abc”,$conn);

$sql=sprintf(“select * from cba where user=’%s’ and pass=’%s'”,$user,$pass);

$rs=mysql_query($sql) or die(mysql_error());

$rows=mysql_num_rows($rs);

if($rows0) //登錄成功

{

echo ‘The Login Is OK, ‘;

echo ‘Please Enter Your ID.’;

exit;

}

}

}

echo “-3”;

?

PHP實現一個賬號同一時間只能一人登陸,給出源代碼!

對於一個帳號在同一時間只能一個人登錄,可以通過下面的方法實現:

1 .在用戶登錄時,把用戶添加到一個ArrayList中

2 .再次登錄時查看ArrayList中有沒有該用戶,如果ArrayList中已經存在該用戶,則阻止其登錄

3 .當用戶退出時,需要從該ArrayList中刪除該用戶,這又分為三種情況

① 使用註銷按鈕正常退出

② 點擊瀏覽器關閉按鈕或者用Alt+F4退出,可以用javascript捕捉該頁面關閉事件,

執行一段java方法刪除ArrayList中的用戶

③ 非正常退出,比如客戶端系統崩潰或突然死機,可以採用隔一段時間session沒活動就刪除該session所對應的用戶來解決,這樣用戶需要等待一段時間之後就可以正常登錄。

在LoginAction中定義:

// 用來在服務器端存儲登錄的所有帳號

public static List logonAccounts;

login() 登錄方法中:

// 設置session不活動時間為30分

request.getSession().setMaxInactiveInterval(60*30);

if(logonAccounts==null){

logonAccounts = new ArrayList();

}

// 查看ArrayList中有沒有該用戶

for (int i = 0; i logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getAccountId().equals(existAccount.getAccountId())){

return “denied”;

}

}

// 在用戶登錄時,把sessionId添加到一個account對象中

// 在後面 ③ 需要根據此sessionId刪除相應用戶

account.setSessionId(request.getSession().getId());

// 該用戶保存到ArrayList靜態類變量中

logonAccounts.add(account);

return “login”;

① 使用註銷按鈕正常退出

logout() 退出方法中:

if(logonAccounts==null){

logonAccounts = new ArrayList();

}

// 刪除ArrayList中的用戶 ⑴

for (int i = 0; i logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getAccountId().equals(existAccount.getAccountId())){

logonAccounts.remove(account);

}

}

② 點擊瀏覽器關閉按鈕或者用Alt+F4退出:

在後台彈出一個窗口,在彈出窗口中刪除ArrayList中的用戶

function window.onbeforeunload(){

// 是否通過關閉按鈕或者用Alt+F4退出

// 如果為刷新觸發onbeforeunload事件,下面if語句不執行

if (event.clientXdocument.body.clientWidth event.clientY0||event.altKey){

window.open(‘accountUnbound.jsp’,”,

‘height=0,width=0,top=10000,left=10000’)

}

}

accountUnbound.jsp : 彈出窗口中刪除ArrayList中的用戶

%

Account account = (Account) request.getSession().getAttribute(“account”);

if(account != null){

if(LoginAction.logonAccounts==null){

LoginAction.logonAccounts = new ArrayList();

}

// 刪除ArrayList中的用戶——下面代碼和上面的 ⑴ 處一樣

for (int i = 0; i logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getAccountId().equals(existAccount.getAccountId())){

logonAccounts.remove(account);

}

}

}

%

為了保證上面代碼可以執行完畢,3秒後關閉此彈出窗口(也位於accountUnbound.jsp中)

script

setTimeout(“closeWindow();”,3000);

function closeWindow(){

window.close();

}

/script

③ 使LoginAction 實現implements HttpSessionListener,並實現sessionCreated,sessionDestroyed方法,在sessionDestroyed中刪除ArrayList中的用戶(用戶超過30分鐘不活動則執行此方法)

public void sessionDestroyed(HttpSessionEvent event) {

// 取得不活動時的sessionId,並根據其刪除相應logonAccounts中的用戶

String sessionId = event.getSession().getId();

for (int i = 0; i logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getSessionId().equals(existAccount.getSessionId())){

logonAccounts.remove(account);

}

}

}

註:

對於上面的,由於彈出窗口很容易被防火牆或者安全軟件阻攔,造成無法彈出窗口,從而短時間不能登錄,這種情況可以用AJAX來代替彈出窗口,同樣在後台執行刪除用戶的那段代碼,卻不會受到防火牆限制:

script

// ![CDATA[

var http_request = false;

function makeRequest(url) {

http_request = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,…

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {

http_request.overrideMimeType(‘text/xml’);

}

} else if (window.ActiveXObject) { // IE

try {

http_request = new ActiveXObject(“Msxml2.XMLHTTP”);

} catch (e) {

try {

http_request = new ActiveXObject(“Microsoft.XMLHTTP”);

} catch (e) {

}

}

}

if (!http_request) {

alert(‘Giving up :( Cannot create an XMLHTTP instance’);

return false;

}

http_request.onreadystatechange = alertContents;

http_request.open(‘GET’, url, true);

http_request.send(null);

}

function alertContents() {

if (http_request.readyState == 4) {

if (http_request.status == 200) {

window.close();

} else {

alert(‘There was a problem with the request.’);

}

}

}

function window. onbeforeunload() {

makeRequest (‘accountUnbound.jsp’);

}

//]]

/script

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/290755.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 13:13
下一篇 2024-12-24 13:13

相關推薦

  • g3log源代碼學習

    g3log是一個高性能C++日誌庫,其代碼十分精簡和可讀性強,本文將從3個方面詳細介紹g3log源代碼學習。 一、g3log源代碼整體架構 g3log的整體架構十分清晰,其中有3個…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • Python中接收用戶的輸入

    Python中接收用戶的輸入是一個常見的任務,可以通過多種方式來實現。本文將從以下幾個方面對Python中接收用戶的輸入做詳細闡述。 一、使用input函數接收用戶輸入 Pytho…

    編程 2025-04-29
  • Python彈框讓用戶輸入

    本文將從多個方面對Python彈框讓用戶輸入進行闡述,並給出相應的代碼示例。 一、Tkinter彈窗 Tkinter是Python自帶的圖形用戶界面(GUI)庫,通過它可以創建各種…

    編程 2025-04-28
  • Zookeeper ACL 用戶 anyone 全面解析

    本文將從以下幾個方面對Zookeeper ACL中的用戶anyone進行全面的解析,並為讀者提供相關的示例代碼。 一、anyone 的作用是什麼? 在Zookeeper中,anyo…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28
  • 數字孿生源代碼的介紹

    數字孿生源代碼是一種用於模擬現實世界的技術。它將現實世界的實體或場景進行數字化,使得我們可以通過計算機程序對其進行模擬,以便進行分析和預測。數字孿生源代碼包含了許多組件和算法,下面…

    編程 2025-04-28
  • 源碼是什麼

    源碼是一段計算機程序的原始代碼,它是程序員所編寫的可讀性高、理解性強的文本。在計算機中,源碼是指編寫的程序代碼,這些代碼按照一定規則排列,被計算機識別並執行。 一、源碼的組成 源碼…

    編程 2025-04-27
  • Python中獲取用戶輸入命令的方法解析

    本文將從多個角度,分別介紹Python中獲取用戶輸入命令的方法,希望能夠對初學者有所幫助。 一、使用input()函數獲取用戶輸入命令 input()是Python中用於獲取用戶輸…

    編程 2025-04-27
  • Go源碼閱讀

    Go語言是Google推出的一門靜態類型、編譯型、並髮型、語法簡單的編程語言。它因具有簡潔高效,內置GC等優秀特性,被越來越多的開發者所鍾愛。在這篇文章中,我們將介紹如何從多個方面…

    編程 2025-04-27

發表回復

登錄後才能評論