国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
PHP 中的登入頁面如何運(yùn)作?
設(shè)定登入頁面
如何用 PHP 建立登入頁面?
會(huì)議
Home.php
結(jié)論
首頁 後端開發(fā) php教程 PHP 中的登入頁面

PHP 中的登入頁面

Aug 29, 2024 pm 01:14 PM
php

很少會(huì)發(fā)現(xiàn)一個(gè)有吸引力的網(wǎng)站不建議客戶建立帳戶。為此,他們需要為新用戶提供自行註冊(cè)的設(shè)施,然後使用其帳戶登入並與網(wǎng)站互動(dòng)。 PHP 公開了足夠的實(shí)用程式來快速設(shè)定功能性登入頁面,並且稍後還可以根據(jù)需要進(jìn)行擴(kuò)充。設(shè)定基本登入表單來請(qǐng)求憑證後,可以使用相同的 PHP 腳本來處理和驗(yàn)證憑證,並在成功登入時(shí)重定向到對(duì)應(yīng)的頁面。它還提供了創(chuàng)建和儲(chǔ)存 cookie 和會(huì)話的選項(xiàng),以便在使用者完成登入程序後追蹤使用者。

廣告 該類別中的熱門課程 PHP 開發(fā)人員 - 專業(yè)化 | 8 門課程系列 | 3次模擬測(cè)驗(yàn)

開始您的免費(fèi)軟體開發(fā)課程

網(wǎng)頁開發(fā)、程式語言、軟體測(cè)試及其他

PHP 中的登入頁面如何運(yùn)作?

PHP 是一種可擴(kuò)充的無狀態(tài)伺服器端腳本語言。它允許人們透過將表單資料儲(chǔ)存在數(shù)組 $_GET 或 $_POST 中來捕獲表單數(shù)據(jù),這取決於提交表單時(shí)使用的方法是 GET 還是 POST。通常,出於安全原因,首選 post 方法。提交後,這些數(shù)組可以透過輸入欄位名稱進(jìn)行索引來取得具體值。

對(duì)於登入表單,憑證會(huì)被傳遞並儲(chǔ)存在這些陣列中,這些陣列通常只是一組使用者名稱和密碼。根據(jù)需求,可以在 PHP 程式碼本身中直接驗(yàn)證使用者名稱和密碼組合,或者可以將有效的使用者名稱、密碼組合集儲(chǔ)存在可以找到的資料庫中。

設(shè)定登入頁面

讓我們建立一個(gè)頁面 Login.php,其中包含以下 HTML 行:

代碼:

<html>
<head>A sample login page</head>
<body>
<h2>Enter Login Information:</h2><br>
<form action="" method="post">
<label>Username : </label><input type="text" name="username" /><br/>
<label>Password : </label><input type="password" name="pwd" /><br/>
<input type="submit" value="Login" />
</form>
</body>
</html>

輸出:

PHP 中的登入頁面

這些行建立了一個(gè)非常簡單的表單,要求使用者輸入兩個(gè)欄位:使用者名稱和密碼。它提供第三個(gè)輸入,即提交按鈕,並導(dǎo)致表單資料(即使用者名稱和密碼)發(fā)送到表單標(biāo)記的操作屬性中提到的位置。由於上面是空的,所以它將表單資訊傳遞到同一個(gè) PHP 頁面。

如何用 PHP 建立登入頁面?

上面的頁面是靜態(tài) HTML 程式碼,沒有實(shí)際驗(yàn)證使用者或?qū)⑹褂谜叩侨雰?nèi)部網(wǎng)頁。為此,我們需要處理儲(chǔ)存在 $_POST 中的 username 和 pwd 欄位中傳遞的值,因?yàn)槭褂昧?posts 方法。

因此可以使用以下方法檢查是否存在值:

代碼:

<?php
$error = "";
if(isset($_POST['username']) && isset($_POST['pwd'])){
// check for validity
}
?>

驗(yàn)證兩個(gè)輸入確實(shí)存在後,我們可以驗(yàn)證它們的值並將人員重定向到適當(dāng)?shù)臍g迎頁面。

我們可以透過在上面所示的 if 語句區(qū)塊中插入以下簡單的程式碼來實(shí)現(xiàn)此目的:

代碼:

$username = $_POST['username'];
$password = $_POST['pwd'];
if($username == "admin" && $password == "l0G3In"){
header('location: Home.php');
}
else {
$error = "Invalid username or password!";
}

透過上述幾行,一旦使用者提交了一組有效的憑證,他就可以存取 home.php,或者我們儲(chǔ)存一條可以向使用者顯示的錯(cuò)誤訊息。

會(huì)議

我們不希望使用者在每次請(qǐng)求時(shí)都重複登入。因此,我們需要追蹤已登入的用戶,無論他們請(qǐng)求哪個(gè)頁面。在 PHP 中實(shí)現(xiàn)此目的的一種方法是使用會(huì)話。

簡單來說,會(huì)話是伺服器端的一小段訊息,在請(qǐng)求頁面後為客戶端臨時(shí)儲(chǔ)存。在 PHP 中,這是透過呼叫函數(shù) session_start() 作為腳本中的第一行來實(shí)現(xiàn)的。從下次訪問頁面開始,session_start()不會(huì)建立新的會(huì)話,而是檢索先前啟動(dòng)的會(huì)話的信息,並將其儲(chǔ)存在一個(gè)特殊的陣列$_SESSION中。

會(huì)話處於活動(dòng)狀態(tài)時(shí)跨頁面?zhèn)鬟f的值可以以與普通數(shù)組類似的方式設(shè)置,並且 isset() 函數(shù)可用於檢查數(shù)組中是否存在特定值。

結(jié)合所有討論的內(nèi)容,程式碼將如下所示:

代碼:



A sample login page

Enter Login Information:




輸出:

PHP 中的登入頁面

Home.php

現(xiàn)在,任何其他需要登入的頁面只需要檢查會(huì)話金鑰登入是否已設(shè)定。如果沒有,使用者可以被重新導(dǎo)向到登入頁面。否則他就可以存取秘密的內(nèi)部內(nèi)容。

讓我們建立一個(gè)用於演示目的:

代碼:

<?php
session_start();
if(!isset($_SESSION["login"]) || $_SESSION["login"]!=True){
header('location: Login.php');
}
?>
<html>
<head>Welcome to User's Home Page</head>
<body>
<h2>Wishing you a good day!!</h2><br>
</body>
</html>

輸出:

PHP 中的登入頁面

上面的程式碼首先透過呼叫 session_start() 來檢索會(huì)話詳細(xì)資訊。然後,它驗(yàn)證會(huì)話對(duì)於已完成登入程序的使用者仍然處於活動(dòng)狀態(tài)。如果沒有,使用者將被傳送到 Login.php 頁面。如果使用者已成功登錄,則其餘內(nèi)容可供使用者使用。

結(jié)論

用 PHP 建立登入頁面非常容易。在這裡,我們直接將憑證儲(chǔ)存在腳本中,但理想情況下(也是最常見的)它們將儲(chǔ)存在某種形式的資料庫或金鑰管理員中。另外,這裡我們使用了會(huì)話,它儲(chǔ)存在瀏覽器端,但您可以使用儲(chǔ)存在瀏覽器(客戶端)端但不太可靠的 cookie。

以上是PHP 中的登入頁面的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

我如何了解最新的PHP開發(fā)和最佳實(shí)踐? 我如何了解最新的PHP開發(fā)和最佳實(shí)踐? Jun 23, 2025 am 12:56 AM

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

什麼是PHP,為什麼它用於Web開發(fā)? 什麼是PHP,為什麼它用於Web開發(fā)? Jun 23, 2025 am 12:55 AM

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

如何設(shè)置PHP時(shí)區(qū)? 如何設(shè)置PHP時(shí)區(qū)? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

我如何驗(yàn)證PHP中的用戶輸入以確保其符合某些標(biāo)準(zhǔn)? 我如何驗(yàn)證PHP中的用戶輸入以確保其符合某些標(biāo)準(zhǔn)? Jun 22, 2025 am 01:00 AM

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

什麼是php(serialize(),Unserialize())中的數(shù)據(jù)序列化? 什麼是php(serialize(),Unserialize())中的數(shù)據(jù)序列化? Jun 22, 2025 am 01:03 AM

thephpfunctionserize()andunSerialize()redustoconvertComplexdatStructDestoresToroStoroStoroSandaBackagagain.1.Serialize()

如何將PHP代碼嵌入HTML文件中? 如何將PHP代碼嵌入HTML文件中? Jun 22, 2025 am 01:00 AM

可以將PHP代碼嵌入HTML文件中,但需確保文件以.php為擴(kuò)展名,以便服務(wù)器能正確解析。使用標(biāo)準(zhǔn)的標(biāo)籤包裹PHP代碼,可在HTML中任意位置插入動(dòng)態(tài)內(nèi)容。此外,可在同一文件中多次切換PHP與HTML,實(shí)現(xiàn)條件渲染等動(dòng)態(tài)功能。務(wù)必注意服務(wù)器配置及語法正確性,避免因短標(biāo)籤、引號(hào)錯(cuò)誤或遺漏結(jié)束標(biāo)籤導(dǎo)致問題。

編寫清潔和可維護(hù)的PHP代碼的最佳實(shí)踐是什麼? 編寫清潔和可維護(hù)的PHP代碼的最佳實(shí)踐是什麼? Jun 24, 2025 am 12:53 AM

寫乾淨(jìng)、易維護(hù)的PHP代碼關(guān)鍵在於清晰命名、遵循標(biāo)準(zhǔn)、合理結(jié)構(gòu)、善用註釋和可測(cè)試性。 1.使用明確的變量、函數(shù)和類名,如$userData和calculateTotalPrice();2.遵循PSR-12標(biāo)準(zhǔn)統(tǒng)一代碼風(fēng)格;3.按職責(zé)拆分代碼結(jié)構(gòu),使用MVC或Laravel式目錄組織;4.避免麵條式代碼,將邏輯拆分為單一職責(zé)的小函數(shù);5.在關(guān)鍵處添加註釋並撰寫接口文檔,明確參數(shù)、返回值和異常;6.提高可測(cè)試性,採用依賴注入、減少全局狀態(tài)和靜態(tài)方法。這些做法提升代碼質(zhì)量、協(xié)作效率和後期維護(hù)便利性。

如何使用PHP執(zhí)行SQL查詢? 如何使用PHP執(zhí)行SQL查詢? Jun 24, 2025 am 12:54 AM

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

See all articles