2021/12/15 よりサイトリニューアルしました

PHP,MySQLで大喜利サイトを作ってみる③管理者ログイン画面の作成

管理者ログイン入力

 

前回はざくっとおおまかなトップページのモックをHTMLで作成しました。↓

 

これからPHPを埋め込んで動的ページにしていくわけですが、簡単なCMSを作って毎週更新するお題や結果発表等を管理したいと思っているので、今回はそれの権限を証明する「管理者ログイン」ページを作成したいと思います。

で、今更ですがローカルの環境開発環境は、Windows,XAMPP(Apach,MySQL)で行っております。

また、今後プログラムの詳細についてはほぼ過去記事の応用ですので、割愛していきます。詳細については過去記事を参考ください。↓

 

それではまとめようかと思います。

 

 

データベースの作成

管理者ログイン用テーブル

MySQLのPHP My Adminから任意の名前でデータベースを作成します。

今回は管理者用のログイン用テーブルを作成します。とりあえず下記のようなものを作りました。

namepass
******

2カラムで名前とパスワードのみの超絶シンプルなものです。

CMSを使ったサイトの更新には管理者でログインしないと操作できないようにします。

 

PHP My Adminで直接管理者情報を登録

管理者の追加ページ等は作成しないので、とりあえず管理者情報を直で PHP My Admin からデータベースに書き込みます。先ほど作成したテーブルにSQLでnameとpassをINSERTします。(PASSは一応MD5等で暗号化したもの)

このテーブルの情報を使って、ログインページを作成します。

 

 

管理者ログイン情報入力ページ

k_login.php

拡張子をphpとしてますがhtmlでもいけますね。

ファイルの格納場所はドキュメントルートよりもう1階層下に格納してますが、任意の箇所でも問題ないです。

ドキュメントルート/任意のファイル/k_login.php

フォームタグで入力した情報を指定したページへPOSTします。

管理者ログイン入力

 

 

ログイン情報チェックページ

k_login_check.php

XSS対策でPOSTデータをエスケープさせています。

入力チェック後、データベースに接続し、SQLで入力した情報がテーブルに存在するか確認します。

確認できれば、SESSIONをスタートさせて、CMSのトップページへ遷移するようにしています。

 

common.php

エスケープの関数は common.php の外部ファイルを作成してインクルードさせています。格納場所は任意で。

 

 

CMSトップ画面

cms_top.php

CMSのトップ画面になります。ログイン後、記事投稿(お題更新)、結果投稿(表彰)、ログアウト、のページへアクセスできようにしています。

ログインしていないとSESSIONではじかれるようになっています。

CMSトップ画面

 

 

次回

ログイン画面まで出来ましたので、次回は簡単なCMSを作成して記事の投稿画面、 結果投稿(表彰)、ログアウト 画面、を作っていきたいと思います。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です