php中存儲用戶ID和密碼到mysql數(shù)據(jù)庫的方法
更新時間:2013年02月06日 17:31:47 作者:
對用戶身份驗證,最常用的方法就是將用戶id與密碼保存進數(shù)據(jù)庫中了,然后再寫一些登錄檢測代碼,就可以使用了
創(chuàng)建用戶信息表:
復(fù)制代碼 代碼如下:
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代碼來創(chuàng)建登錄表單在上述示例中創(chuàng)建的。我們只需要修改登錄過程有點。
登錄腳本:
復(fù)制代碼 代碼如下:
<?php
// 我們必須永遠不會忘記啟動會話
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ù)庫
$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è)置會話
$_SESSION['db_is_logged_in'] = true;
// 在登錄后我們轉(zhuǎn)到主頁
header('Location: main.php');
exit;
} else {
$errorMessage = 'Sorry, wrong user id / password';
}
include 'library/closedb.php';
}
?>
/ /…相同的html登錄表單前一個示例一樣
而不是檢查用戶id和密碼對硬編碼的信息我們查詢數(shù)據(jù)庫,如果這兩個存在于數(shù)據(jù)庫使用SELECT查詢。如果我們發(fā)現(xiàn)一個匹配我們設(shè)置會話變量和移動到主頁。注意,會話的名字是前綴 “db”使它不同于先前的示例。
在接下來的兩個腳本(主要。php和注銷。php)代碼類似于前一個。唯一的區(qū)別是會話名稱。這是為這兩個的代碼
復(fù)制代碼 代碼如下:
<?php
session_start();
//是一個訪問這個頁面登錄呢?
if (!isset($_SESSION['db_is_logged_in'])
|| $_SESSION['db_is_logged_in'] !== true) {
// 沒有登錄,返回到登錄頁面
header('Location: login.php');
exit;
}
?>
/ /…這里的一些html代碼
復(fù)制代碼 代碼如下:
<?php
session_start();
// 如果用戶已登錄,設(shè)置會話
if (isset($_SESSION['db_is_logged_in'])) {
unset($_SESSION['db_is_logged_in']);
}
// 現(xiàn)在,用戶登錄,
// 去登錄頁面
header('Location: login.php');
?>
您可能感興趣的文章:
- php 生成唯一id的幾種解決方法
- PHP通過session id 實現(xiàn)session共享和登錄驗證的代碼
- PHP獲取MySql新增記錄ID值的3種方法
- php GUID生成函數(shù)和類
- ThinkPHP寫數(shù)組插入與獲取最新插入數(shù)據(jù)ID實例
- php中session_id()函數(shù)詳細介紹,會話id生成過程及session id長度
- 使用PHP uniqid函數(shù)生成唯一ID
- php ajax無刷新分頁,支持id定位
- php查看當前Session的ID實例
- PHP用mysql_insert_id()函數(shù)獲得剛插入數(shù)據(jù)或當前發(fā)布文章的ID
相關(guān)文章
PHP批量查詢WordPress留言者E-mail地址實現(xiàn)方法
這篇文章主要介紹了PHP批量查詢WordPress留言者E-mail地址實現(xiàn)方法,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-02-02PHP設(shè)計模式之觀察者模式入門與應(yīng)用案例詳解
這篇文章主要介紹了PHP設(shè)計模式之觀察者模式入門與應(yīng)用,結(jié)合具體案例形式詳細分析了PHP觀察者模式的相關(guān)概念、原理、使用方法及操作注意事項,需要的朋友可以參考下2019-12-12