-
-
CREATE TABLE tbl_auth_user (
- user_id VARCHAR(10) NOT NULL,
- user_password CHAR(32) NOT NULL,
主キー (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';
- < ;p> $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 = 'ユーザー ID / パスワードが間違っています';
- }
include 'library/closedb.php';
- }
- ?>
-
-
コードをコピー
/ /…前の例と同じ HTML ログイン フォーム
ユーザー ID とパスワードをハードコードされた情報と照合する代わりに、データベースにクエリを実行し、これら 2 つがデータベースに存在する場合は SELECT クエリを使用します。一致するものが見つかった場合は、セッション変数を設定し、ホームページに移動します。セッション名の先頭に「db」が付いているため、前の例とは異なることに注意してください。
次の 2 つのスクリプト (main.php と logout.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('場所:login.php');
- ?>
-
-
コードをコピー
|