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

PHP,MySQLで大喜利サイトを作ってみる④お題投稿CMSとトップページの作成

お題アップロード

 

前回、CMSの管理者ログインページ、CMSトップページを作成しました。↓

 

今回はお題と結果を投稿するCMSと、それを反映させるトップページを作成したいと思います。

それではまずCMSから作成します。

公開するページではありませんので、見栄えは最悪です。

 

 

CMS

お題のアップロードページ

先頭のログイン確認でセッションnameも確認しているのは、ユーザーログイン情報での操作を防ぐためです。

このページはシンプルに、次のページへ画像ファイルをPOSTしているだけです。

お題アップロード

お題をDBに登録

お題の日付と画像ファイル情報を受け取り、データベースに保存するページです。

今回のサイトの仕様として、週一のお題投稿を前提としているので、日付(〇月〇週)がかぶれ保存出来ないようにしています。

新たな日付なら画像ファイルをアップロードし、ファイル名をデータベースに書き込みます。

テーブルはこんな感じ↓

テーブル情報

 

m_wに日付、imgにお題が入ります。

 

結果を投稿

お題投稿と似ていますが、ここでは優勝者と準優勝者、特別賞の画像を次ページへPOSTします。

 

結果をDBに登録

先ほどのお題投稿テーブルと同じテーブルに結果の画像を保存します。

このテーブルに結果が入れば、トップページが自動で結果発表を表示する仕組みにしようと思います。

続いて肝心要のトップページ。

 

 

トップページ

DBの内容でお題のみか結果込みかを自動で判断させる

トップページでは、とりあえず閲覧は誰でも出来るようにしたいので、ログイン有無ではじく設定にはしていません。

データベースに接続後、先ほどのテーブルからお題を表示させます。

続いて、結果の画像がテーブルに存在するなら表示させ、なければ表示させないとします。

つまり、テーブルの状態でお題進行中なのか、結果が出て〆なのかを自動で決定させる事ができます。

厳密に言えば、結果発表時には回答欄やいいねのチェック機能などは操作不能にしなければ〆になりませんが、それはおいおい付け足します。

とりあえずこれで、以下のような画面を動的に作り出せます。

 

 

ログアウト

管理者のログアウト

CMSトップ画面から管理者のログアウトを出来るようにしています。

 

次回は、ユーザーのログイン、回答、辺りをまとめようと思います。 

 

 

 

コメントを残す

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