PHP

【Web】phpで簡単な会員登録を実装しよう!!『4.ログイン・ログアウト』

第3回ではログイン画面を作っていきます。

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

【Web】phpで簡単な会員登録を実装しよう!!『1.概要説明』『PHPやHTMLを覚えたけど、具体的にどんなものを作ればいいのかわからない・・・・』 と言う人はプログラミング初心者には多いと思...

全体のコード(login.php)

このコードを見ていただければわかると思うのですが、基本的にはregister.phpとかなり共通の部分があります。

regisrer.phpの詳しい解説については、

【Web】phpで簡単な会員登録を実装しよう!!『3.新規会員登録』第3回では新規会員登録画面を作っていきます。 第1回を見ていない方は、わからないことが多いと思うので、以下のリンクから飛んで先に見...

を見てください。

このコードを実行すると、以下のような画面になります。

ユーザーネームとパスワードを入力することで、そのアカウントでログインすることができます。

ログインに成功すると『○○でログインしています』と表示されます。

ログインに失敗すると『送信データが正しくありません』と表示されます。

コードの説明

HTMLのログインフォームから送信されたデータが空でないかをチェックし、データベースに接続するところまでは、第3回と同じです。

この部分ではユーザー認証の処理をしています。

具体的には、ユーザーから入力されたユーザーネームとパスワードがあるレコードがusersテーブルに存在すればログインに成功する仕組みです。

usersテーブルのusernameはユニークなのであるユーザーネームのレコードは1つしか存在していません。(会員登録していなければ0つです)

そのレコードに対して、入力されたパスワードが正しければSELECT文でそのレコードを抽出することができるので、ログイン成功と見なしていいという理屈です。

本格的にログイン機能を実装しようとすると、パスワードをハッシュ化したりする必要があるのですが、ここでは簡単のためにその処理は行わないことにします。

ログインに成功すると、セッション変数にユーザーネームを格納して、ログイン済みだということを判断できるようにして、リダイレクトします。

全体のコード(logout.php)とその説明

続いてはログアウトの処理ですが、これはとっても簡単です。

このコードをlogout.phpとして保存するだけでログアウトを実現することができます。

ログインしているかどうかは、セッション変数にユーザーネームが格納されているかどうかで判別しているので、

そのセッション変数を初期化すれば、未ログイン状態とすることができます。

【Web】phpで簡単な会員登録を実装しよう!!『5.退会画面』第5回では退会画面を作っていきます。 第1回を見ていない方は、わからないことが多いと思うので、以下のリンクから飛んで先に見ることを...