ホームページ >バックエンド開発 >PHPチュートリアル >ユーザーIDとパスワードをmysqlデータベースに保存する方法

ユーザーIDとパスワードをmysqlデータベースに保存する方法

WBOY
WBOYオリジナル
2016-07-25 09:05:431185ブラウズ
  1. CREATE TABLE tbl_auth_user (

  2. user_id VARCHAR(10) NOT NULL,
  3. user_password CHAR(32) NOT NULL,

  4. 主キー (user_id)

  5. );

  6. INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('theadmin', PASSWORD('chumbawamba'));

  7. INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('webmaster', PASSWORD(' webmistress'));

コードをコピー

同じ HTML コードを使用して、上記の例で作成したログイン フォームを作成します。ログインプロセスを少し変更する必要があるだけです。 ログインスクリプト:

  1. // セッションの開始を決して忘れてはいけません
  2. session_start();

  3. $errorMessage = '';

  4. if ( isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {
  5. include 'library/config.php';
  6. include 'library/opendb.php';

  7. < ;p> $userId = $_POST['txtUserId'];
  8. $password = $_POST['txtPassword'];

  9. // ユーザー ID とパスワードの組み合わせがデータベースに存在することを確認します

  10. $sql = "SELECT user_id
  11. FROM tbl_auth_user
  12. WHERE user_id = '$userId'
  13. AND user_password = PASSWORD('$password')";

  14. $result = mysql_query($sql)

  15. or die( 'Query failed. ' . mysql_error());

  16. if (mysql_num_rows($result) == 1) {

  17. // sessionthe はユーザー ID とパスワードを一致させるように設定します。 // セッションを設定します
  18. $_SESSION['db_is_logged_in'] = true;

  19. // ログイン後、ホームページに移動します

  20. header('Location: main.php');
  21. exit ;
  22. } else {
  23. $ errorMessage = 'ユーザー ID / パスワードが間違っています';
  24. }

  25. include 'library/closedb.php';

  26. }
  27. ?>
コードをコピー
/ /…前の例と同じ HTML ログイン フォーム

ユーザー ID とパスワードをハードコードされた情報と照合する代わりに、データベースにクエリを実行し、これら 2 つがデータベースに存在する場合は SELECT クエリを使用します。一致するものが見つかった場合は、セッション変数を設定し、ホームページに移動します。セッション名の先頭に「db」が付いているため、前の例とは異なることに注意してください。

次の 2 つのスクリプト (main.php と logout.php) のコードは、前のスクリプトと似ています。唯一の違いはセッション名です。これら2つのコードは次のとおりです

  1. session_start();

  2. //このページにアクセスするにはログインが必要ですか?

  3. if (!isset($_SESSION[ ' db_is_logged_in'])
  4. || $_SESSION['db_is_logged_in'] !== true) {

  5. // ログインせず、ログイン ページに戻ります

  6. header('Location: login.php ') ;
  7. exit;
  8. }

  9. ?>

コードをコピー
/ /…ここにHTMLコードをいくつか

  1. session_start();

  2. // ユーザーがログインしている場合、セッションを設定します

  3. if (isset($_SESSION) ['db_is_logged_in '])) {
  4. unset($_SESSION['db_is_logged_in']);
  5. }

  6. // これでユーザーはログインしました

  7. // ログイン ページに移動します
  8. header('場所:login.php');
  9. ?>

コードをコピー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。