DreamweaverでPHP 会員専用サイトの作成

ログイン用データベースの作成

単純にページにログインできないように暗証番号を入力させるためだけなら、『.htaccess』ファイルでBasic認証をかける方法が簡単ですが、アクセスしてきた人によって、挙動を変える(人によってアクセスできるページを変えたり、いろんな情報を保持したりする)には、データベースによってアクセスしてきた人を判別する方法が必要です。

phpMyAdminを開き、前回作成したデータベースに新しいテーブルを作成したいと思います。

①名前に『members』、フィールド数を『6』と入力します。

②フィールド名を『ID』『mm_name』『mm_class』『mm_passw』『mm_mail』『mm_note』にして、『ID』の種別を『INT』、『mm_class』の種別を『TINYINT』、『mm_note』を『TEXT』、それ以外を『VARCHAR』にします。『mm_note』以外を『not_null』にして、『ID』をauto_increment』で『PRIMARY KEY』に設定します。

会員登録ページの作成

それでは、Dreamweaverで先にいくつかファイルを作成しておきましょう。いつもと同じように、中身は空で構いません。まず、会員登録用のページ(mm_input.php)、二重登録防止のページ(mm_ovrlapping.php)、登録が成功したときに表示するページ(mm_input_ok.php)、登録が失敗したときに表示するページ(mm_input_ng.php)を作成します。

①作成した会員登録用のページ(mm_input.php)を開き、フォームタブのフォームをクリックし、フォームを作成します。

②一般タブのテーブルをクリックし、5行2列のテーブルをフォームの中に作成します。

③項目名を入力し、5行目を2列とも選択。プロパティの『選択したセルを結合』ボタンをクリックします。

④結合した5行目をクリックし、フォームタブの『ボタン』アイコンをクリックします。出てきたダイアログボックスには何も入力せずに『OK』をクリックします。

⑤作成された『送信ボタン』をクリックして、プロパティの『値』を『送信』から『登録』に変更します。

⑥1行2列目をクリックして、フォームタブのテキストフィールドを入力します。

⑦IDをデータベーステーブルのフィールド名と同じにして、『OK』をクリックします。

⑧同様に残りのテキストフィールドとテキストエリアを入力します。尚、4行目の『備考』は味気ないので、『自己紹介』に変更しました。

これで一応、会員登録用のフォームは作成できました。データベーステーブルで作成したフィールドのうち、『ID』と『mm_class』の入力箇所がありませんが、『ID』は自動的に連番が入力されますし、『mm_class』も初期値を入力しておきましたので、設定した初期値が入力されますので、問題はありません。

次回は『会員登録用のページのレコードセットの設定』です。

タグ

DreamweaverでPHP 会員専用サイトの作成2

会員登録用のページのレコードセットの設定

それでは、作成した会員登録用のページに実際にデータを登録できるように設定しましょう。

①『サーバービヘイビア』→『+』→『レコードセット』とクリックします。.

②レコードセットの名前を決め、接続名とテーブル名(members)を選択します。列は『すべて』を選択し、『フィルター』『ソート』は必要ありませんので、『なし』のまま『OK』をクリックします。

バインディングのレコードセットを開き、各フィールドを該当する箇所にドラッグします。

訂正:新規登録ですので、フィールドの中身は全て空白で、登録者に記載して貰います。各フィールドにデータ初期値を反映させるのは、データ訂正の時に使用します。

④『サーバービヘイビア』→『+』→『レコードセットの挿入』をクリックします。

⑤『値送信元』『接続』『テーブルの挿入』をそれぞれ選択し、自動的に割り振られている列が正しいかどうか確認します。更新後の移動先(mm_input_ok.php)を入力して、『OK』ボタンをクリックします。

重複データの確認

二重登録を防止するために『新規ユーザー名の確認』のサーバービヘイビアを指定します。

①『サーバービヘイビア』→『+』→『ユーザー認証』→『新規ユーザー名を確認』をクリックします。

②同姓同名でも登録できるように、又、ニックネームでも登録できるように、メールアドレスで重複の確認をします。『ユーザー名フィールド』は『mm_name』ではなくて、『mm_mail』にします。『既存ユーザー名入力時の表示ページ』は、『mm_overlapping.php』を入力し、『OK』をクリックします。

③『サーバービヘイビア』に『レコードの挿入』と『新規ユーザー名を確認』が作成されています。

次回は『データ入力前の下準備とユーザー認証ページの作成』です。本日はここまでにします。

タグ

DreamweaverでPHP 会員専用サイトの作成3

データ入力前の下準備

それでは、実際にデータを入力してみる前に、移動先のファイルを作成しておきましょう。

①二重登録防止の案内ページを作成します。『mm_overlapping.php』のファイルを開き、以下の内容を記載して保存しましょう。尚、ユーザー認証ページはまだ作成していませんので、リンクはまだ設定しません。

②『mm_input_ok.php』ファイルを開き、以下の内容を記載して保存します。トップページもまだ作成していませんので、同じくリンクは設定しません。

③『mm_input.ng.php』のファイルを開き、以下の内容を記載したら、『登録ページへ戻る』の文字をドラッグして選択し、プロパティのリンクの横のアイコンを『mm_input.php』へドラッグすると、mm_input.phpファイルへのリンクが自動的に記述されます。尚、リンクの横の黒三角をクリックして、実際のリンク先のファイルを選択することも出来ます。

④ついでに会員専用サイトのトップページも作成しておきましょう。以下の内容で新規ファイルを作成したら、『index.php』で保存してください。

ユーザー認証ページの作成

それでは、ログイン用のページを作成します。『mm_login.php』の名前でファイルを保存してください。

①フォームを作成し、各テキストフィールド名は、『mm_mail』『mm_passw』にします。ここまでの工程は、何度もやってきていますので、飛ばします。

②ログインが失敗したときのページも作成しておきます。『mm_login_err.php』で新規作成し、ログインページへのリンクを張っておきます。

②『mm_login.php』のページへ戻り、『サーバービヘイビア』→『+』→『ユーザー認証』→『ログイン』とクリックします。

③『入力フォームタイプ』『ユーザー名フィールド』『パスワードフィールド』はDreamweaverが自動的に選択していますので、確認するだけで大丈夫です。『テストに使用する接続先』『テーブル名』を選択し、『ユーザー名列』は『mm_mail』、『パスワード列』は『mm_passw』を選択します。『ログイン成功時の表示ページ』と『ログイン失敗時の表示ページ』を指定します。アクセスの制限は、『ユーザー名、パスワード、およびアクセスレベル』を選択して、『レベルの取得先』『mm_class』にします。アクセスレベルを設定する理由は、後々アクセスレベルによって表示できるページを振り分けることができるようにするためです。しばらくは使いません。

④サーバービヘイビアに『ログイン』が作成されています。コードを確認すると、ログイン用のPHPが自動生成されています。

⑤最後に『mm_overlapping.php』のページの『ユーザー認証へ戻る』のリンクを『mm_login.php』へ、『mm_input_ok.php』の『トップページへ戻る』のリンクを『mm_index.php』へ張ってください。

本日はここまでにします。次回は『実際にデータ入力のテストとアクセス制限』をしてみたいと思います。

タグ

DreamweaverでPHP 会員専用サイト4

前々回の訂正とお詫び

会員登録のデータ入力の前に、前々回の訂正をしたいと思います。前々回の『会員登録用のページのレコードセットの設定』の③で各フィールドを該当する箇所にドラッグと説明しましたが、これは、データ訂正用のページを作成するための方法でした。お詫びします。せっかく作成したので、この『mm_input.php』を『mm_update.php』の名前で別名保存します。元の『mm_input.php』ページの各フィールドを訂正します。

1行2列目のフィールド内をクリックし、プロパティの『初期値』を削除します。残りのフィールドも同様に訂正します。

会員登録のページのデータ入力

それでは、http://winroad.ever.jp/mm_input.phpをクリックして、『mm_input.php』のファイルを開きます。

①データを入力して、『登録』をクリックします。『パスワード』の入力文字を黒丸文字にするためには、プロパティのタイプのパスワードを選択します。尚、ついでに『登録』ボタンの横に、『リセット』ボタンも作成しました。

②登録できたら、『mm_input_ok.php』のページへ移動します。

③続いて、http://winroad.ever.jp/mm_login.phpのページから、『ログイン』できるか確認してみましょう。

④既に登録してある『鈴木五郎』のメールアドレス『suzuki@winroad.jp』、とパスワード『suzuki』でアクセスしてみます。

②メールアドレスとパスワードが正しければ、トップページへ移動します。

ページへのアクセス制限

さて、会員登録はできましたが、このままでは、アドレスを直接打ち込めば、誰でもトップページへ行くことができます。登録された会員だけがトップページへ移動することができるようにするためには、『index.php』のページにアクセス制限をかけなければなりません。

①『index.php』のページを開き、『サーバービヘイビア』→『+』→『ユーザー認証』→『ページへのアクセス制限』とクリックします。

②『ページへのアクセス制限』ダイアログで『制限』を『ユーザー名とパスワード』、『アクセス拒否後』の表示ページを『mm_login.php』に指定して、『OK』をクリックします。これで、トップページへアクセスしてきた人を強制的に、ログインページへ移動させ、『メールアドレス』と『パスワード』が合致した人のみトップページを開くことができるようになります。これはブラウザが閉じるまで有効です。

③今まで作成したページ(『mm_login.php』以外のページ)にも同様にアクセス制限をかけます。これで会員以外の人はhttp://winroad.ever.jpのサイトへアクセスする事ができなくなります。尚、会員登録すればアクセスできるようにするため、『mm_login.php』のページの下に会員登録用のリンクを張っておきます。

タグ

DreamweaverでPHP 会員専用サイト5

久しぶりの『DreamweaverでPHP』ですが、今日はアクセスしてきた人の情報を表示する方法を説明したいと思います。

『index.php』ファイルを開きます。『WinRoad会員専用サイトへようこそ』の前に、アクセスしてきた人の名前を表示したいと思います。『サーバービヘイビア』の『+』アイコンをクリックし、レコードセットをクリックします。

レコードセットダイアログで名前(任意)を入力、接続とテーブル名(members)を選択します。フィルターをmm_mail、『=』でフィルター条件を『セッション変数』でセッション名を『MM_Username』にして『OK』をクリックします。

先頭で改行して、カーソルを先頭へ移動します。バインディングタブのレコードセットソースから『mm_name』をドラッグします。

ドラッグしてできた『PHP』のアイコンの後に『さん』と入力します。

ファイルをアップデートしたら、ブラウザで確認してみます。メールアドレス『suzuki@winroad.jp』、パスワード『suzuki』でログインしてみます。

ログインした人の名前が表示されています。

このようにログインした人の情報をデータベースから取得することができます。その情報によりログインした人のデータベース情報によってサイトの挙動を変えることができます。また、ログイン画面からパスワードを忘れた人のメールアドレスへパスワードの自動メール送信することも簡単にできます。

タグ

このページの先頭へ