0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP初心者がメンター予約フォームを作る②【index.php編】〜入力フォームを育てる第一歩〜

0
Last updated at Posted at 2026-05-04

1.はじめに(今回の目的)

前回は、必要ファイルや画面遷移図を整理しました。
今回は、実際に入力画面である index.php を作成していきます。

2.方針変更について

当初はアンケートフォームを作成する予定でしたが、
以下の理由からメンター予約フォームへと方針を変更しました。

技術的な理由

・カレンダー機能など、実践的なUIを取り入れてみたかった
・単純な入力フォームだけでなく、より複雑なデータ入力を扱う経験を積みたかった

実務を意識した理由

・現場ではExcelで予約や情報を管理しているケースが多く、
 それをWebフォーム化することで効率化できるのではないかと考えた
・実際の業務に近い形のアプリケーションを作ることで、
 今後の開発に活かせると感じた

結果として、単なる練習用のフォームではなく、
「実務でも使えることを意識したフォーム」を目指すことにしました。

3. 今回のゴール

メンター予約フォームの入力画面を作ります。
実務での利用も意識し、予約管理に必要な項目を一通り揃えました。

入力項目は以下です。

  • 名前
  • メールアドレス
  • 電話番号
  • 予約日
  • 予約時間
  • 相談方法
  • 学習言語
  • OS環境
  • 相談カテゴリ
  • 相談内容の詳細
  • 緊急度のスライダー
  • 同意チェック欄

4.index.phpで意識したこと

ただ入力欄を並べるだけではなく、
「あとで確認画面やデータベース保存につなげやすい名前」にすることを意識しました。

例:

  • name
  • email
  • learning_languages
  • consultation_categories
  • consultation_method
  • details

5.現時点での画面

現時点では見た目は最低限ですが、入力機能の実装を優先しています。
今後CSSで見た目を整えていく予定です。
メンター予約フォーム.png

6.悩んだポイント

項目名の英語命名に悩みました。

特に「相談方法」「学習中の言語」「相談カテゴリ」は、
日本語ではすぐ分かるのに、英語の変数名にすると急に迷子になります。

ここで適当に名前をつけると、あとで confirm.php や complete.php を作る時に自分が苦しむので、できるだけ意味が分かる名前にしました。

7.工夫したところ

1.スライダー

スライダーについて、単純に値を選択するだけでなく、
「1〜5のどの値を選んでいるのか」が直感的に分かるよう工夫しました。

初期状態では、スライダーの数値が分かりづらく、どの位置がどの値なのか判断しにくい状態でした。

そのため、スライダーの下に目盛り(1〜5)を表示し、視覚的に分かりやすくなるよう調整しました。

ユーザーが迷わず入力できることを意識しています。

※詳細な実装については、別記事でまとめる予定です。

2.チェックボックス

相談カテゴリは複数選択できるように、チェックボックスにしました。

name="consultation_categories[]"

このように [] をつけることで、選択された値を配列として受け取ることができます。
これにより、複数の相談内容を柔軟に扱えるようにしました。

8.今回の反省

最初はアンケートフォームを作る予定でしたが、
考えているうちに「メンター予約フォーム」の方が実用的で面白そうだと思い、方向転換しました。

ただ、方向転換したことで項目がどんどん増えました。
「あんなこといいな、できたらいいな」状態です。

ドラ●もんの道具ではなく、PHP初心者の工数爆増装置でした。

9.次にやること(次回予告)

次回は、入力した内容を確認画面に送る confirm.php を作成します。

フォームで入力した値が、きちんと次の画面に渡せるかを確認していきます。


まとめ

今回は、メンター予約フォームの入力画面(index.php)を作成しました。

単純なフォーム作成ではなく、実務での利用を意識し、
入力項目の設計や命名、ユーザーが迷わないUIを考えながら実装しました。

特にスライダーやチェックボックスについては、
「どう使われるか」を意識して工夫しています。

次回は、入力内容を確認する画面(confirm.php)を作成していきます。
実務でも使える形を意識しながら、引き続き改善していきます。

ソースコード

今回作成したコードはこちらで公開しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?