第2回ではトップ画面を作っていきます。
第1回を見ていない方は、わからないことが多いと思うので、以下のリンクから飛んで先に見ることをオススメします。

データベースを利用できる状態にする
まずは会員情報を記録するためのデータベースを利用できる状態にしておきます。
ragistrationというデータベースを作り、そこにusersというテーブルを作りましょう。
phpMyAdminを使う場合は、以下のような構成にしてテーブルを作成します。

カラムの説明は、
id … ユーザーごとにユニークに割り当てられる識別番号。A_I(Auto Increment)にチェックを入れることを忘れないようにしましょう。
username … ユーザーの名前です。これもユニークで重複は許可しません。
password … ログインの認証で使うパスワードです。
となります。
また、PHPでデータベースの接続をしなければいけないわけですが、
次にそのためのデータベースのログイン情報を記述してあるファイルを作ります。
common.phpというファイルを作って、以下のコードを記述します。
1 2 3 4 5 6 7 8 |
<?php define('DB_HOST', 'localhost'); define('DB_NAME', 'registration'); define('DB_USER', 'root'); define('DB_PASS', 'root'); ?> |
こうすることでデータベースに接続する度にデータベースの情報を何回も記述する必要がなくなる上に、
ログイン情報が変更されたとき(ローカル環境からリリース環境に移行するときなど)にわざわざ全てのファイルを書き直す必要がなくなります。
全体のコード(index.php)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php session_start(); // セッション開始 ?> <!DOCTYPE html> <html> <head> <title>トップ</title> <meta charset="utf-8"> </head> <body> <h1>テストサイトへようこそ!</h1> <?php if (isset($_SESSION['username'])) { echo('<p>ようこそ'.$_SESSION['username'].'さん</p>'); } ?> <p><a href="./register.php">新規会員登録</a></p> <p><a href="./login.php">ログイン</a></p> <p><a href="./logout.php">ログアウト</a><p> <p><a href="./list.php">会員一覧</a></p> <p><a href="./delete.php">退会</a></p> </body> </html> |
このコードを実行すると、以下のような画面になります。

各リンクをクリックすることで、それぞれのページへ遷移することができます。
コードの説明
特に難しいことも全くしていないので説明が不要な方も多いと思いますが、念のためにしておきます。
今回はログインしているかどうかの判別を、セッション変数を用いることで実現します。
したがって、トップ画面でもまずはsession_start()を記述することでセッションが使えるようにします。
トップ画面ではログインしている場合に『ようこそ○○さん』と表示したいので、15~19行でセッション変数を利用しています。
<!DOCTYPE html>はドキュメント形式がhtmlであることをコンピュータに伝えるものです。
<head>内の<title>でタイトルを、<meta>でメタ情報を記述しています。
<body>内では<h1>で見出しを、<a>でそれぞれのページのリンクを記述しています。
