日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何實現(xiàn)登錄表單的有效性驗證并儲存在數(shù)據(jù)庫中(登錄表單驗證數(shù)據(jù)庫)

隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的網(wǎng)站需要用戶進(jìn)行登錄才能使用其提供的服務(wù)。在登錄時,為了保護(hù)用戶隱私和信息安全,需要對登錄表單進(jìn)行有效性驗證。這篇文章將介紹如何通過使用PHP和MySQL實現(xiàn)登錄表單的有效性驗證,并將用戶信息儲存在數(shù)據(jù)庫中,以保證數(shù)據(jù)安全。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比鎮(zhèn)賚網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鎮(zhèn)賚網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鎮(zhèn)賚地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

一. 前端登錄表單

前端頁面為用戶提供一個登錄表單,通常包括以下幾個要素:用戶名、密碼、驗證碼等。在這個表單中可以加入一些前端驗證,如郵箱格式驗證、密碼長度驗證,這些驗證是為了避免用戶的輸入錯誤,也可以通過js代碼實現(xiàn)。

然而,前端驗證的缺點在于易于被用戶繞過,所以必須使用后端服務(wù)器腳本來進(jìn)行有效性驗證。

二. 后臺驗證

后臺驗證的原理是通過服務(wù)器腳本對用戶輸入的內(nèi)容進(jìn)行判斷和處理。通過后臺頁面,PHP文件接收前端提交的數(shù)據(jù),然后驗證其有效性。接下來,我們將使用PHP進(jìn)行詳細(xì)講解。

2.1 PHP處理輸入數(shù)據(jù)

用戶填寫了表單后,PHP代碼將收到一系列鍵值對。在登錄表單中,我們將會獲得兩個重要參數(shù):用戶名和密碼。通過這些參數(shù),我們可以連接到MySQL數(shù)據(jù)庫,然后驗證用戶名和密碼是否跟數(shù)據(jù)庫中的記錄一致。

在下面的例子中,我們將構(gòu)造一段PHP代碼來校驗輸入信息的正確性。

“`

// 判斷是否有POST請求提交

if ($_SERVER[“REQUEST_METHOD”] == “POST”) {

// 獲取表單提交的數(shù)據(jù)

$username = test_input($_POST[“username”]);

$password = test_input($_POST[“password”]);

// 注冊用戶

register_user($username, $password);

// 跳轉(zhuǎn)到成功頁面

header(‘Location: success.php’);

exit();

}

// 數(shù)據(jù)清洗

function test_input($data) {

$data = trim($data);

$data = stripslashes($data);

$data = htmlspecialchars($data);

return $data;

}

function register_user($username, $password) {

// 連接到MySQL數(shù)據(jù)庫

$conn = mysqli_connect(“l(fā)ocalhost”, “username”, “password”, “database”);

// 防止SQL注入

$username = mysqli_real_escape_string($conn, $username);

$password = mysqli_real_escape_string($conn, $password);

// 使用SHA1加密密碼

$hashed_password = sha1($password);

// 構(gòu)造SQL語句

$sql = “INSERT INTO users (username, password) VALUES (‘”.$username.”‘, ‘”.$hashed_password.”‘)”;

// 執(zhí)行SQL語句

mysqli_query($conn, $sql);

// 關(guān)閉數(shù)據(jù)庫連接

mysqli_close($conn);

}

?>

“`

如上所示,在登錄表單中,我們會進(jìn)行如下處理:

1. 檢查是否有POST請求提交;

2. 清洗用戶提交的數(shù)據(jù),以便確保其正確性和安全性;

3. 連接到MySQL數(shù)據(jù)庫;

4. 防止SQL注入;

5. 使用SHA1加密密碼;

6. 構(gòu)造SQL語句;

7. 執(zhí)行SQL語句;

8. 關(guān)閉連接。

三. 儲存在數(shù)據(jù)庫中

接下來,我們需要將用戶信息存儲在數(shù)據(jù)庫中。對于區(qū)別于單純的表單提交數(shù)據(jù),儲存到數(shù)據(jù)庫需要更多的功能。在這個例子中,我們需要存儲用戶名和密碼。從可靠性和安全性觀點來看,我們需要對密碼進(jìn)行加密,并且禁止使用用戶的輸入作為SQL語句的命令。這里使用SHA1算法加密用戶的密碼,這是一種安全可靠的加密算法。

3.1 數(shù)據(jù)庫表設(shè)計

我們需要定義一個表,以存儲我們的用戶數(shù)據(jù)。

“`

CREATE TABLE `users` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(50) NOT NULL,

`password` varchar(40) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

“`

在上面的例子中,我們定義了一個名為“users”的表,該表具有三個列:ID、用戶名和密碼。其中ID是一個自增的、唯一的主鍵。

3.2 數(shù)據(jù)庫連接

下面是連接到數(shù)據(jù)庫的代碼:

“`

// 連接到MySQL數(shù)據(jù)庫

$conn = mysqli_connect(“l(fā)ocalhost”, “username”, “password”, “database”);

“`

用戶名、密碼、數(shù)據(jù)庫名稱由自己設(shè)置,連接至數(shù)據(jù)庫可以對表中的數(shù)據(jù)進(jìn)行操作,建議將數(shù)據(jù)庫連接字符串分開存放,造成安全隱患。

3.3 執(zhí)行SQL語句

下面是提交到數(shù)據(jù)庫的代碼:

“`

$sql = “INSERT INTO users (username, password) VALUES (‘”.$username.”‘, ‘”.$hashed_password.”‘)”;

mysqli_query($conn, $sql);

“`

執(zhí)行SQL語句時,將當(dāng)前用戶名和密碼進(jìn)行存儲。

3.4 關(guān)閉數(shù)據(jù)庫連接

需要顯式地關(guān)閉數(shù)據(jù)庫連接。雖然不關(guān)閉數(shù)據(jù)庫連接不會影響運行,但在長時間運行和使用高并發(fā)的情況下,可能會導(dǎo)致服務(wù)器資源耗盡。

“`

mysqli_close($conn);

“`

四. 結(jié)論

本文介紹了如何使用PHP和MySQL實現(xiàn)登錄表單的有效性驗證,并將用戶信息儲存在數(shù)據(jù)庫中的方法。我們通過處理前端提交的數(shù)據(jù),連接到數(shù)據(jù)庫,然后對用戶名和密碼進(jìn)行驗證并存儲到數(shù)據(jù)庫中,以保證用戶名和密碼詳情安全可靠。讀者可以借鑒上面的代碼,完成代碼的實現(xiàn)。

相關(guān)問題拓展閱讀:

  • 表單驗證,怎么知道用戶名是否正確,數(shù)據(jù)庫里有沒有這個用戶名,我只是寫頁面的,怎么把頁面和后臺數(shù)據(jù)庫

表單驗證,怎么知道用戶名是否正確,數(shù)據(jù)庫里有沒有這個用戶名,我只是寫頁面的,怎么把頁面和后臺數(shù)據(jù)庫

可以使用Ajax進(jìn)行判斷

用戶名表單

用戶名:

js

// 當(dāng)焦點移出用戶名輸入框時

$(“#userName”).blur(function(){

var userName = $.trim($(this));

// 判斷是否為空及空格

if(userName == “”){

return;

}

// 校驗用戶名是否存在,該URL可以返回該用戶名絕大存在的數(shù)量

var url = ‘****.com/checkUserName?userName’+ userName;

// 清空用戶名表單提示信息內(nèi)容

var msgObj = $(this).next(“.msg”);

msgObj.html(“”);

// 使用ajax去后臺判斷該用戶名在數(shù)據(jù)庫中是否存在

$.ajax({

url: url,,

type : ‘GET’,

succsess:function(data){

// 數(shù)據(jù)庫中存在該用戶名

if(data*1 > 0){

// 將錯并簡豎誤信息添加至相應(yīng)位置

msgObj.html(“該用戶名咐兄已經(jīng)存在”);

} else {

msgObj.html(“該用戶名可以使用”);

}

},

error:function(){

msgObj.html(“校驗用戶名出現(xiàn)錯誤”);

}

});

});

大概就是這樣就可以了,你需要自己寫一個校驗用戶名的后臺方法

關(guān)于登錄表單驗證數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


當(dāng)前文章:如何實現(xiàn)登錄表單的有效性驗證并儲存在數(shù)據(jù)庫中(登錄表單驗證數(shù)據(jù)庫)
文章URL:http://www.dlmjj.cn/article/dpepphp.html