PHPでログイン画面を実装する。
新規登録すると、次回からログインできるようになる。
このサイトそのまま写経する。ただしPHPのファイル名だけは変えた。
試した環境は fedora 21。DBは mysql(MariaDB)。だいぶ古いが、Linuxならどこでも動くと思う。
<DBの準備>
dbのログインユーザーが「root」、パスワード「12345」だと仮定して進める。
mysqlにログインする。
$ mysql -u root -p
$ Enter password:12345
データベースを作る。
$ create database loginManagement
テーブルを作る。
$ CREATE TABLE `User` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'AI', `name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '氏名', `password` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'パスワード', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) DEFAULT CHARSET=utf8mb4;
テーブル名を確認する。
MariaDB> show tables;
テーブルの内容を確認する。
MariaDB> select * from User;
<PHPコーディング>
ソースはこれ。
ただし 05_password.php だけはここからダウンロードした(password.phpの頭に 05_ をつけてリネームした)
ソースを上から順に見ていく。
<動作テスト>
Webサイトに配置して 05_Login.php を開き「新規登録」してみる。
新規登録画面(05_SignUp.php)が開いた。
ユーザー名「test2」、パスワード「abcdefg」として新規登録ボタンを押してみる。
正常に登録完了しIDとパスワードが表示された。
もう一度ログイン画面に戻って test2 でログインできるか試す。
バッチリ認証されログインできている。「ログアウト」してみる。
ログアウト(05_Logout.php)も正常に動いた。
こういうシンプルなコードがたくさん欲しい。集める。