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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
用PHP編寫注冊(cè)登錄系統(tǒng)并與數(shù)據(jù)庫(kù)連接 (php注冊(cè)登錄 加數(shù)據(jù)庫(kù))

在現(xiàn)代互聯(lián)網(wǎng)時(shí)代,登錄注冊(cè)系統(tǒng)作為Web應(yīng)用程序的核心組件,扮演著重要的角色。防止未經(jīng)授權(quán)的訪問和數(shù)據(jù)泄露是登錄注冊(cè)系統(tǒng)的首要職責(zé)。PHP作為一種開源、快速、簡(jiǎn)單的腳本語(yǔ)言,與MySQL數(shù)據(jù)庫(kù)完美結(jié)合,成為一種廣泛使用的Web開發(fā)技術(shù)。本文將介紹如何使。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供婺源網(wǎng)站建設(shè)、婺源做網(wǎng)站、婺源網(wǎng)站設(shè)計(jì)、婺源網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、婺源企業(yè)網(wǎng)站模板建站服務(wù),10多年婺源做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

一、用戶注冊(cè)功能

1.1 數(shù)據(jù)庫(kù)創(chuàng)建及表結(jié)構(gòu)設(shè)計(jì)

使用MySQL數(shù)據(jù)庫(kù)來存儲(chǔ)用戶信息,需要先創(chuàng)建相關(guān)的表結(jié)構(gòu)。表名可以取名為user_info,具體的表字段包括:

– user_id:用戶ID,自增長(zhǎng)主鍵。

– user_name:用戶名,用于登錄及顯示的名稱。

– user_pwd:用戶密碼,存儲(chǔ)密碼哈希值。

– user_eml:用戶郵箱,用于找回密碼等功能。

– user_salt:用戶鹽值,增加密碼的復(fù)雜度,可以使用隨機(jī)字符串等方式生成。

下面是用戶信息表的建表語(yǔ)句:

CREATE TABLE `user_info`(

`user_id` INT(11) NOT NULL AUTO_INCREMENT,

`user_name` VARCHAR(50) NOT NULL COMMENT ‘用戶名’,

`user_pwd` VARCHAR(255) NOT NULL COMMENT ‘用戶密碼’,

`user_eml` VARCHAR(50) NOT NULL COMMENT ‘用戶郵箱’,

`user_salt` VARCHAR(32) NOT NULL COMMENT ‘用戶鹽值’,

PRIMARY KEY (`user_id`)

) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT=’用戶信息表’;

1.2 注冊(cè)頁(yè)面設(shè)計(jì)

注冊(cè)頁(yè)面是用戶注冊(cè)的入口,需要采用一定的設(shè)計(jì)和排版,以方便用戶填寫信息。在本例中,我們使用Bootstrap框架來構(gòu)建基本結(jié)構(gòu),包括表單、輸入項(xiàng)、提交按鈕等。核心代碼如下:

用戶注冊(cè)

用戶注冊(cè)

用戶名

郵箱

密碼

注冊(cè)

1.3 注冊(cè)功能實(shí)現(xiàn)

在注冊(cè)頁(yè)面填寫完信息,點(diǎn)擊提交按鈕后,需要將表單數(shù)據(jù)傳輸?shù)椒?wù)器端,并將信息保存到數(shù)據(jù)庫(kù)中。具體實(shí)現(xiàn)過程如下:

– 獲取表單數(shù)據(jù),包括用戶名、密碼、郵箱等信息。

– 對(duì)密碼進(jìn)行加鹽哈希處理,把用戶名和鹽值也保存在數(shù)據(jù)庫(kù)中。

– 如果注冊(cè)成功,直接跳轉(zhuǎn)到登錄頁(yè)面;如果注冊(cè)失敗,返回注冊(cè)頁(yè)面并給出相應(yīng)的提示信息。

下面是register.php的代碼,是服務(wù)器端與數(shù)據(jù)庫(kù)連接的核心文件:

require_once ‘db_config.php’;

if($_SERVER[‘REQUEST_METHOD’] == ‘POST’) {

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

$username = trim($_POST[‘username’]);

$eml = trim($_POST[’eml’]);

$password = trim($_POST[‘password’]);

$salt = md5(uniqid(rand()));

// 對(duì)密碼進(jìn)行哈希加鹽

$hash = hash(‘sha256’, $password . $salt);

// 插入用戶信息

$stmt = $pdo->prepare(“INSERT INTO user_info (user_name, user_pwd, user_eml, user_salt)

VALUES (:uname, :upwd, :ueml, :usalt)”);

$stmt->bindParam(‘:uname’, $username);

$stmt->bindParam(‘:upwd’, $hash);

$stmt->bindParam(‘:ueml’, $eml);

$stmt->bindParam(‘:usalt’, $salt);

if ($stmt->execute()) {

// 注冊(cè)成功,跳轉(zhuǎn)到登錄頁(yè)面

header(‘Location: login.php’);

exit();

} else {

// 注冊(cè)失敗,返回注冊(cè)頁(yè)面

echo “注冊(cè)失敗,請(qǐng)重新注冊(cè)”;

}

}

?>

二、用戶登錄功能

2.1 登錄頁(yè)面設(shè)計(jì)

登錄頁(yè)面與注冊(cè)頁(yè)面類似,需要采用基本的設(shè)計(jì)和排版,以方便用戶填寫信息。在本例中,我們使用Bootstrap框架來構(gòu)建基本結(jié)構(gòu),包括表單、輸入項(xiàng)、提交按鈕等。核心代碼如下:

用戶登錄

用戶登錄

用戶名

密碼

登錄

2.2 登錄功能實(shí)現(xiàn)

在登錄頁(yè)面填寫完信息,點(diǎn)擊提交按鈕后,需要將表單數(shù)據(jù)傳輸?shù)椒?wù)器端,并根據(jù)數(shù)據(jù)庫(kù)中的用戶信息進(jìn)行驗(yàn)證。具體實(shí)現(xiàn)過程如下:

– 獲取表單數(shù)據(jù),包括用戶名、密碼等信息。

– 查詢數(shù)據(jù)庫(kù)中是否存在用戶名,如果存在,則獲取對(duì)應(yīng)的哈希密碼和鹽值。

– 對(duì)密碼進(jìn)行加鹽哈希處理,并與數(shù)據(jù)庫(kù)中的哈希值進(jìn)行比較。

– 如果密碼正確,則創(chuàng)建新的Session并將用戶信息保存到Session中;否則返回登錄頁(yè)面并給出相應(yīng)的提示信息。

下面是login.php的代碼,是服務(wù)器端與數(shù)據(jù)庫(kù)連接的核心文件:

require_once ‘db_config.php’;

// 開啟Session

if (!isset($_SESSION)) {

session_start();

}

if($_SERVER[‘REQUEST_METHOD’] == ‘POST’) {

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

$username = trim($_POST[‘username’]);

$password = trim($_POST[‘password’]);

// 查詢用戶信息

$stmt = $pdo->prepare(“SELECT user_id, user_name, user_pwd, user_salt FROM user_info WHERE user_name = :uname”);

$stmt->bindParam(‘:uname’, $username);

$stmt->execute();

$row = $stmt->fetch(PDO::FETCH_ASSOC);

if ($row) {

// 對(duì)密碼進(jìn)行哈希加鹽

$hash = hash(‘sha256’, $password . $row[‘user_salt’]);

// 比較哈希值是否一致

if ($hash == $row[‘user_pwd’]) {

// 創(chuàng)建新的Session并保存用戶信息

$_SESSION[‘user_id’] = $row[‘user_id’];

$_SESSION[‘user_name’] = $row[‘user_name’];

// 跳轉(zhuǎn)到用戶中心頁(yè)面

header(‘Location: user.php’);

exit();

}

}

// 密碼錯(cuò)誤或用戶名不存在,返回登錄頁(yè)面

echo “用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入”;

}

?>

三、用戶中心頁(yè)面

在用戶登錄成功后,將自動(dòng)跳轉(zhuǎn)到用戶中心頁(yè)面。該頁(yè)面可以展示用戶基本信息、收藏、歷史記錄等,也可以提供修改密碼、退出登錄等功能。在本例中,我們只實(shí)現(xiàn)了展示用戶基本信息的功能。

3.1 用戶中心頁(yè)面設(shè)計(jì)

用戶中心頁(yè)面需要展示用戶基本信息,包括用戶名、郵箱等。頁(yè)面結(jié)構(gòu)可以采用Bootstrap框架的柵格布局,也可以使用其他CSS樣式庫(kù)。核心代碼如下:

用戶中心

用戶中心

用戶名
郵箱

退出登錄

3.2 用戶中心頁(yè)面實(shí)現(xiàn)

用戶中心頁(yè)面需要從Session中獲取用戶信息,以便展示在頁(yè)面上。如果Session中不存在用戶信息,則返回登錄頁(yè)面。具體實(shí)現(xiàn)思路如下:

– 從Session中獲取用戶信息,包括用戶ID、用戶名、郵箱等。

– 根據(jù)用戶ID查詢數(shù)據(jù)庫(kù)中的用戶信息,以獲取完整的用戶信息。

– 如果用戶信息不存在,則返回登錄頁(yè)面。

– 如果用戶信息存在,顯示用戶中心頁(yè)面并展示用戶信息。

下面是user.php的代碼,根據(jù)Session中的用戶ID,查詢數(shù)據(jù)庫(kù)中的用戶信息,并將信息保存在Session中:

require_once ‘db_config.php’;

// 開啟Session

if (!isset($_SESSION)) {

session_start();

}

// 獲取用戶信息

if (isset($_SESSION[‘user_id’])) {

$user_id = $_SESSION[‘user_id’];

$stmt = $pdo->prepare(“SELECT user_name, user_eml FROM user_info WHERE user_id = :uid”);

$stmt->bindParam(‘:uid’, $user_id);

$stmt->execute();

$row = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$row) {

// 用戶信息不存在,返回登錄頁(yè)面

header(‘Location: login.php’);

exit();

}

// 保存用戶信息到Session中

$_SESSION[‘user_name’] = $row[‘user_name’];

$_SESSION[‘user_eml’] = $row[‘user_eml’];

} else {

// 用戶未登錄,返回登錄頁(yè)面

header(‘Location: login.php’);

exit();

}

?>

四、連接數(shù)據(jù)庫(kù)

在本文的實(shí)例中,我們采用PDO連接MySQL數(shù)據(jù)庫(kù),這是一種強(qiáng)大的抽象數(shù)據(jù)接口技術(shù),可以與各種關(guān)系型數(shù)據(jù)庫(kù)方便地集成。在db_config.php文件中,我們定義了連接數(shù)據(jù)庫(kù)使用的用戶名、密碼、主機(jī)和端口等參數(shù)。核心代碼如下:

// 數(shù)據(jù)庫(kù)連接信息

$host = ‘localhost’;

$dbname = ‘test_db’;

$username = ‘root’;

$password = ‘123456’;

$port = ‘3306’;

$charset = ‘utf8mb4’;

// 連接數(shù)據(jù)庫(kù)

$dsn = “mysql:host=$host;dbname=$dbname;port=$port;charset=$charset”;

$opt = [

PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // 錯(cuò)誤異常拋出

PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默認(rèn)獲取關(guān)聯(lián)數(shù)組

];

try {

$pdo = new PDO($dsn, $username, $password, $opt);

} catch(PDOException $e) {

die(‘?dāng)?shù)據(jù)庫(kù)連接失?。骸?. $e->getMessage());

}

?>

通過本文的學(xué)習(xí),我們了解了如何使。注冊(cè)登錄系統(tǒng)是Web應(yīng)用程序設(shè)計(jì)的基礎(chǔ)組成部分,掌握這一基本知識(shí)對(duì)Web開發(fā)者來說至關(guān)重要。PHP作為一種流行的服務(wù)器端腳本語(yǔ)言,能夠輕松地連接MySQL數(shù)據(jù)庫(kù),并實(shí)現(xiàn)對(duì)用戶信息的CRUD操作。希望本文的實(shí)例能夠?qū)ψx者在實(shí)際開發(fā)中提供一定的幫助。

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

  • 求PHP用戶登錄信息寫入數(shù)據(jù)庫(kù)的代碼!

求PHP用戶登錄信息寫入數(shù)據(jù)庫(kù)的代碼!

靜態(tài)頁(yè)面

用戶名:

密碼

//login.php接收頁(yè)面

感覺你不懷好意啊

不過還是說說,在HTML頁(yè)面,也就是你上面的這個(gè)頁(yè)面輸入信息察物提交:

把信息提交給動(dòng)態(tài)頁(yè)面,讓他先保存數(shù)基汪據(jù),再對(duì)數(shù)據(jù)庫(kù)做會(huì)員檢測(cè),如果會(huì)員存在就寫一下登錄信息,

一個(gè)頁(yè)面是可以完成,注冊(cè)-到登錄。不過也有敗鋒液一個(gè)問題,如果會(huì)員隨便寫一個(gè)密碼也是可以登錄的。

因?yàn)槟銦o法知道他真正的密碼。

唉,登陸的登陸,注冊(cè)是注冊(cè),登陸是和數(shù)據(jù)庫(kù)里的用戶名密碼做比對(duì),如果是有,就可以登陸。

php注冊(cè)登錄 加數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于php注冊(cè)登錄 加數(shù)據(jù)庫(kù),用PHP編寫注冊(cè)登錄系統(tǒng)并與數(shù)據(jù)庫(kù)連接,求PHP用戶登錄信息寫入數(shù)據(jù)庫(kù)的代碼!的信息別忘了在本站進(jìn)行查找喔。

成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。


標(biāo)題名稱:用PHP編寫注冊(cè)登錄系統(tǒng)并與數(shù)據(jù)庫(kù)連接 (php注冊(cè)登錄 加數(shù)據(jù)庫(kù))
URL標(biāo)題:http://www.dlmjj.cn/article/cddgsoj.html