国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

php+MySql實現登錄系統與輸出瀏覽者信息功能

2020-03-22 17:23:33
字體:
來源:轉載
供稿:網友
本系統,與之前在《ASP 連接Access數據庫的登陸系統》(點擊打開鏈接)一文中的asp登錄系統的思想完全一樣,只是編程語言從asp變成了php,數據庫從Access變成了mysql。一、基本目標首先在mysql存在著如下的用戶信息表:
在頁面中有一個登錄表單,上面需要用戶填寫用戶名與密碼等信息如果用戶輸入的用戶名在用戶信息表里面根本就沒有,那么則彈出“查無此人”的對話框,并返回本頁
如果用戶輸入的密碼錯誤,那么則彈出“密碼錯誤”的對話框,并返回本頁
如果用戶輸入的登錄信息正確,那么則跳到“登錄成功”的頁面,并輸出用戶當前的IP、使用的系統的語言環境、與瀏覽器信息
“登錄成功”的頁面是被保護的,瀏覽器并不可以通過在瀏覽器中輸入地址的方式,繞開輸入密碼的頁面,直接訪問“登錄成功”頁面
二、基本思想
用戶輸入用戶名與密碼的那一頁用靜態頁面,只要其表單指向登錄判斷頁login.php就可以了。welcome.php是用戶成功登錄的頁面,exit.php用來銷毀session。session就是用來存放用戶名與密碼的瀏覽器html' target='_blank'>全局變量
三、制作過程
(1)login.html
沒什么好說的,就一個登錄表單,見如下代碼:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title 登錄頁面 /title /head body form action="login.php" method="post" 用戶名: input type="text" name="username" / br / 密碼: input type="password" name="password" / br / input type="submit" value="登錄" / /form /body /html (2)exit.php銷毀session頁面,并且在銷毀session之后,把頁面打回login.html
值得注意的是,在php一旦需要使用session,就應該在所有代碼的第一行使用session_start();系統函數,否則可能會出錯
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title 登出頁面 /title /head body session_start();session_destroy(); script window.location.href="login.html"; /script /body /html (3)login.php登錄判斷頁面,還是經典的登錄三段論,首先接收login.html傳遞過來的username與password,查詢用戶信息表中是否有這個username,如果沒有,再登錄失敗,如果有,再同時判斷傳過來的、用戶輸入的password是否等于這個username在數據庫中對應的dbpassword,如果是,登錄成功,并把username存入session,傳遞給登錄成功頁面,否則登錄失敗。
本頁面還用到了系統內置函數is_null判斷查詢結果是否為空,如果數據庫查詢結果為空,根本就不會有值賦予給新定義的dbusername,這個dbusername依舊為空。
同時,如果登錄成功之后,還要使用mt_rand(0,100000);在0~100000中產生一個保護登錄成功頁面的隨機數code。
并且做完一切判斷之后,記得在最后加入一條關閉數據庫的語句,人走帶門。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title 登陸中…… /title /head body session_start();$username=$_REQUEST["username"];$password=$_REQUEST["password"];$con=mysql_connect("localhost","root","root");if(!$con){ die("數據庫連接失敗!");mysql_select_db("test",$con);$dbusername=null;$dbpassword=null;$result=mysql_query("select * from user where username='".$username."';");while($row=mysql_fetch_array($result)){ $dbusername=$row["username"]; $dbpassword=$row["password"];if(is_null($dbusername)){ script alert("查無此人!");window.location.href="login.html"; /script php else{ if($dbpassword!=$password){ script alert("密碼錯誤!");window.location.href="login.html"; /script else{ $_SESSION["username"]=$username; $_SESSION["code"]=mt_rand(0,100000); script window.location.href="welcome.php"; /script mysql_close($con);
(4)welcome.php在welcome.php成功登錄頁面中,先要用isset來判斷是否有login.php傳遞過來的code,這里的isset與上面is_null的區別,isset是判斷有沒有這個變量,is_null是在有這個變量的前提下,判斷這個變量是否為null,如果沒有code這個session則說明用戶非正常途徑登錄的,馬上扔到exit.php再見走人
如果是正常登錄,則通過server對象里面的各個小對象輸出用戶信息。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title 歡迎登錄 /title /head body session_start();if(isset($_SESSION["code"])){歡迎登錄! phpecho "${_SESSION["username"]}"; br / 你的IP: phpecho "${_SERVER['REMOTE_ADDR']}"; br / 你的系統語言: phpecho "${_SERVER['HTTP_ACCEPT_LANGUAGE']}"; br / 你的瀏覽器為: phpecho "${_SERVER['HTTP_USER_AGENT']}"; br / a href="exit.php" 退出登錄 /a else{ script alert("請正常登錄!");window.location.href="exit.php"; /script /body /html 至此,整個登錄系統開發完成。以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持phpstudy。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汝南县| 奇台县| 大城县| 白城市| 吉木乃县| 孙吴县| 石家庄市| 平湖市| 克什克腾旗| 益阳市| 宁都县| 灵璧县| 东明县| 略阳县| 历史| 平度市| 扎赉特旗| 三台县| 赣州市| 军事| 都昌县| 游戏| 余江县| 田林县| 论坛| 固阳县| 台东县| 滨州市| 织金县| 张掖市| 新建县| 霍邱县| 靖州| 蒲城县| 马边| 白玉县| 沁源县| 三江| 镇原县| 尖扎县| 尉犁县|