回答の前提
- 学習目的でとりあえず作ることを目的とする
- 公開するにしても極めて限定的な範囲に留める(致命的なミスがあっても許してもらえる関係のみ)
- 一般にサービスとして公開する前にセキュリティその他足りない部分はプロの助けを得る
という前提になりますが、以下のような流れで大体のものは作れます。
(サービスとして公開するには色々必要なことが欠けていますが、ここでは文字数が足りないですし、プロにきちんとした形で指導してもらうことをお勧めします)
前準備
データベースを使用し、ログイン機能を持つ掲示板を自力で作れる程度にPHPを学習する(掲示板である必要は無いですが、一通りの必要な技術を学習しやすい題材だと思います。)
個人的には適当な入門本を一冊クリアするのがお勧めです。
データベースで実現する必要性も必ずしも無いですが、データ設計を行う際に参考になる情報が多いと思います。
設計
(本来は要件定義を行わないと適切な設計は出来ませんが、学習目的であればとりあえず作れるところから作るのはアリだと思います)
日本語で定義出来ないものをプログラミングでいきなり書くのはかなり困難です。
まずは日本語で自分が何を作りたいのかを明確にしましょう。
具体的には、誰が診断しても同じ回答であれば同じ結果になるような診断ルールを作成する必要があるでしょうね。
その他、診断アプリに必要な機能を全部書き出す。
質問にあるようなイメージを全画面分用意してみて、どの画面でどんな入力と出力が存在するかをリストアップしてみる
- 画面イメージから得られる入力値をどのように診断ルールに当てはめるのか考えてみる。当てはまらなかったら画面かルールを調整する
- データベース設計をする
質問、回答、会員情報等の診断ルールに必要な情報ををどのようにデータベースに保持するか考えて設計する
実装とデバッグ
設計した機能のうち、出来そうなところから実装していく。
入力値を作り出せるHTMLをイメージ図から作っていくのが良いかもしれません。
あとはひたすら実装してはデバッグをしていけば完成です。
最初から全機能を盛り込んで作ろうとすると挫ける可能性も高いので、出来るだけミニマムな機能から順に機能を追加していくのもお勧めです。