PHPのお問い合わせフォームはこう作る!サンプルつき解説

PHPで不特定多数の利用ユーザーがいるシステムを作成する場合は、お問い合わせの方法を準備する必要があるでしょう。

お問い合わせフォームの作り方がわからない
どんな内容を設定すればよいの?

そんなお悩みにお答えすべく、今回は以下の内容で解説します。

  • 【基本】お問い合わせフォームとは
  • 【実践】お問い合わせフォームの作り方
  • 【解説】重要なセキュリティについて

わかりやすく解説していきますので、是非最後まで読んでください。

目次

お問い合わせフォームについて

お問い合わせフォームは、皆さんも一度は使用した事があるのではないでしょうか。

  • サイトの動作について問題があった
  • 商品について聞きたい事がある

このような相談を受けるためにお問い合わせページに入力フォームを設けているサイトが多いと考えられます。自分が作成する場合、どんなお問い合わせフォームにするか考えてみましょう。

入力必須項目

  • 名前・・・本名かWEBネームかは作成するサイトによります。
  • 連絡先・・・これがないとどこに回答するかわかりません。
  • 内容・・・相談の内容。

最低限、3つは必要だと思います。また、住所、電話番号、会員番号などサイトによっては必須になる場合もあるでしょう。

しかし個人情報を入力して頂く場合には、取り扱いには十分気を付ける必要があります。セキュリティについては、最後の章でお話します。

ユーザーの利便性

相談内容はテキストボックスで記述する方式にする場合が多いと思います。その方がユーザーも自由に書ける、と考えるかもしれません。しかし、文字入力が面倒というユーザーは少なくないのです。

よく問い合わせのある内容の場合はラジオボタンやチェックボックスの入力がよいと思われます。お問い合わせフォームはサイト運用の大事な部分です。

入力のしやすさだけではなく、よくある質問等を充実させて問い合わせ数を減らす等の工夫も必要でしょう。

お問い合わせフォームを作る

それでは、お問い合わせフォームの作成方法です。手順としては、

  • ①お問い合わせフォームの作成
  • ②メール送信の仕組みを作る

となります。入力確認画面や画面も必要に応じて作成してください。

①お問い合わせフォームを作成する

test1.phpを以下の内容で作成しました。

<form method="POST" action="test2.php">
連絡先メールアドレス<br />
<input type="text" name="mail_address" value="" /><br /><br />
Webネーム<br />
<input type="text" name="user_name" value="" /><br /><br />
お問い合わせ内容<br />
<textarea name=""></textarea><br /><br />
<input type="submit" value="問い合わせる" />
</form>

■表示結果

よく見るお問い合わせフォームが表示されました。デザイン等を変更したい場合は、CSS等でカスタマイズしましょう。

②メール送信の仕組みを作る

test1.phpの「問い合わせる」ボタンクリック後は、test2.phpに情報が送られます。test2.phpの中にメール送信の仕組みを組み込みましょう。具体的な方法については以下を参考にしてください。

セキュリティについて

最後に、お問い合わせフォームを作るうえで一番気をつける必要があるセキュリティについてお話します。個人情報の漏洩は大問題になります。

お問い合わせフォームを作る場合、特に気をつけたいのがクロスサイトスクリプティングです。XSSとも表記されます。

利用サイトとユーザー間に、攻撃者のサイトが割り込むような形で悪意のあるスクリプトなどを実行させてしまいます。対策として、

  • 入力フォーム内容をユーザーに返す場合、プログラムにとって意味を持つ特殊記号を参照形式に変更※以下一覧を参照
    特殊文字参照形式
    <<
    >>
    ''
    ""
    &&
  • 長いスクリプトの入力を抑止するため、入力文字数に制限を入れる

などがあります。ユーザーに入力させる部分が存在するサイトでは必ず気を付けましょう。

まとめ

今回はPHPのお問い合わせフォームについてお話しました。フォームに記載する内容や入力方法についても作成するシステムによって変更するとよいでしょう。

フォーム自体は簡単に作成可能ですがセキュリティには十分気を付けましょう。それでは、また。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次