php中存儲(chǔ)用戶ID和密碼到mysql數(shù)據(jù)庫(kù)的方法
創(chuàng)建用戶信息表:
CREATE TABLE tbl_auth_user (
user_id VARCHAR(10) NOT NULL,
user_password CHAR(32) NOT NULL,
PRIMARY KEY (user_id)
);
INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('theadmin', PASSWORD('chumbawamba'));
INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('webmaster', PASSWORD('webmistress'));
我們將使用相同的html代碼來(lái)創(chuàng)建登錄表單在上述示例中創(chuàng)建的。我們只需要修改登錄過(guò)程有點(diǎn)。
登錄腳本:
<?php
// 我們必須永遠(yuǎn)不會(huì)忘記啟動(dòng)會(huì)話
session_start();
$errorMessage = '';
if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {
include 'library/config.php';
include 'library/opendb.php';
$userId = $_POST['txtUserId'];
$password = $_POST['txtPassword'];
// 檢查用戶id和密碼組合存在于數(shù)據(jù)庫(kù)
$sql = "SELECT user_id
FROM tbl_auth_user
WHERE user_id = '$userId'
AND user_password = PASSWORD('$password')";
$result = mysql_query($sql)
or die('Query failed. ' . mysql_error());
if (mysql_num_rows($result) == 1) {
// sessionthe設(shè)置用戶id和密碼匹配,
// 設(shè)置會(huì)話
$_SESSION['db_is_logged_in'] = true;
// 在登錄后我們轉(zhuǎn)到主頁(yè)
header('Location: main.php');
exit;
} else {
$errorMessage = 'Sorry, wrong user id / password';
}
include 'library/closedb.php';
}
?>
/ /…相同的html登錄表單前一個(gè)示例一樣
而不是檢查用戶id和密碼對(duì)硬編碼的信息我們查詢數(shù)據(jù)庫(kù),如果這兩個(gè)存在于數(shù)據(jù)庫(kù)使用SELECT查詢。如果我們發(fā)現(xiàn)一個(gè)匹配我們?cè)O(shè)置會(huì)話變量和移動(dòng)到主頁(yè)。注意,會(huì)話的名字是前綴 “db”使它不同于先前的示例。
在接下來(lái)的兩個(gè)腳本(主要。php和注銷。php)代碼類似于前一個(gè)。唯一的區(qū)別是會(huì)話名稱。這是為這兩個(gè)的代碼
<?php
session_start();
//是一個(gè)訪問(wèn)這個(gè)頁(yè)面登錄呢?
if (!isset($_SESSION['db_is_logged_in'])
|| $_SESSION['db_is_logged_in'] !== true) {
// 沒(méi)有登錄,返回到登錄頁(yè)面
header('Location: login.php');
exit;
}
?>
/ /…這里的一些html代碼
<?php
session_start();
// 如果用戶已登錄,設(shè)置會(huì)話
if (isset($_SESSION['db_is_logged_in'])) {
unset($_SESSION['db_is_logged_in']);
}
// 現(xiàn)在,用戶登錄,
// 去登錄頁(yè)面
header('Location: login.php');
?>
- php 生成唯一id的幾種解決方法
- PHP通過(guò)session id 實(shí)現(xiàn)session共享和登錄驗(yàn)證的代碼
- PHP獲取MySql新增記錄ID值的3種方法
- php GUID生成函數(shù)和類
- ThinkPHP寫數(shù)組插入與獲取最新插入數(shù)據(jù)ID實(shí)例
- php中session_id()函數(shù)詳細(xì)介紹,會(huì)話id生成過(guò)程及session id長(zhǎng)度
- 使用PHP uniqid函數(shù)生成唯一ID
- php ajax無(wú)刷新分頁(yè),支持id定位
- php查看當(dāng)前Session的ID實(shí)例
- PHP用mysql_insert_id()函數(shù)獲得剛插入數(shù)據(jù)或當(dāng)前發(fā)布文章的ID
相關(guān)文章
Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能示例
這篇文章主要介紹了Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能,結(jié)合實(shí)例形式分析了Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06PHP批量查詢WordPress留言者E-mail地址實(shí)現(xiàn)方法
這篇文章主要介紹了PHP批量查詢WordPress留言者E-mail地址實(shí)現(xiàn)方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-02-02PHP設(shè)計(jì)模式之觀察者模式入門與應(yīng)用案例詳解
這篇文章主要介紹了PHP設(shè)計(jì)模式之觀察者模式入門與應(yīng)用,結(jié)合具體案例形式詳細(xì)分析了PHP觀察者模式的相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-12-12基于PHP生成靜態(tài)頁(yè)的實(shí)現(xiàn)方法
本篇文章是對(duì)PHP生成靜態(tài)頁(yè)的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05PHP實(shí)現(xiàn)驗(yàn)證碼校驗(yàn)功能
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)驗(yàn)證碼校驗(yàn)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11