phpにユーザーIDとパスワードをmysqlデータベースに格納する方法
2734 ワード
ユーザー情報テーブルを作成するには、次の手順に従います.
上記の例で作成したログインフォームを作成するには、同じhtmlコードを使用します.ログインプロセスを変更するだけです.
ログインスクリプト:
//...同じhtmlログインフォームの前の例と同じ
ユーザーIDとパスワードがハードコーディングされている情報をチェックするのではなく、SELECTクエリーを使用してデータベースをクエリーします.セッション変数を設定してホームページに移動すると一致します.セッションの名前は、前の例とは異なる接頭辞「db」であることに注意してください.
次の2つのスクリプト(プライマリ.phpとログアウト.php)コードは、前のスクリプトと似ています.唯一の違いはセッション名です.これはこの2つのコードのためです
/...ここのhtmlコード
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コードを使用します.ログインプロセスを変更するだけです.
ログインスクリプト:
//
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
$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 id ,
//
$_SESSION['db_is_logged_in'] = true;
//
header('Location: main.php');
exit;
} else {
$errorMessage = 'Sorry, wrong user id / password';
}
include 'library/closedb.php';
}
?>
//...同じhtmlログインフォームの前の例と同じ
ユーザーIDとパスワードがハードコーディングされている情報をチェックするのではなく、SELECTクエリーを使用してデータベースをクエリーします.セッション変数を設定してホームページに移動すると一致します.セッションの名前は、前の例とは異なる接頭辞「db」であることに注意してください.
次の2つのスクリプト(プライマリ.phpとログアウト.php)コードは、前のスクリプトと似ています.唯一の違いはセッション名です.これはこの2つのコードのためです
session_start();
// ?
if (!isset($_SESSION['db_is_logged_in'])
|| $_SESSION['db_is_logged_in'] !== true) {
// ,
header('Location: login.php');
exit;
}
?>
/...ここのhtmlコード
session_start();
// ,
if (isset($_SESSION['db_is_logged_in'])) {
unset($_SESSION['db_is_logged_in']);
}
// , ,
//
header('Location: login.php');
?>