1. TOP
  2. WEB
  3. お問い合わせをWEBサイトにPHPで設置する作り方

お問い合わせをWEBサイトにPHPで設置する作り方

WEBサイトを制作しているとお問い合わせページはかなりの頻度で必要になってきます。企業サイトでは必須ページです。

しかし、HTMLで作成した場合はメールソフトを立ち上げる程度の装備しかできません。本格的なお問い合わせフォームを作成して、送信まで作るとなるとPHPが必要になります。

このページでは、PHPを使って簡単なお問い合わせページの作り方をご紹介します。

お問い合わせの特徴

制作するお問い合わせの特徴をまとめました。

お問い合わせフォームの入力時に記入項目が適切であるかチェックして、入力ミスを表示するように設計します。このシステムをバリデーションと言います。

バリデーション機能で入力ミスを表示

必須項目と通常項目の設定できるようにします。必須項目が入力されずに「送信」ボタンをクリックすると、エラーを表示します。

必須項目と通常項目

確認画面を表示して、送信内容を確かめられるように設計します。

送信確認画面の表示

PHPを使用して送信できるようにします。

送信完了画面

制作方法

お問い合わせを作るには3つのページが必要になります。

  • お問い合わせフォームのページ
  • 確認画面ページ
  • 送信完了ページ

以上を作成します。

お問い合わせフォームのページ

お問い合わせフォームページのサンプル

まずは、お問い合わせフォームのページを作成します。

contact.htmlの名前でファイルを作成します。html内には以下の内容を記述します。

上記のHTMLフォームはサンプルですので、項目や内容はお使いのサイトに併せてカスタマイズしてください。バリデーション機能を動作させるには各項目のclassに「validate」を必ず記述してください。

バリデーション用のCSSです。

次に、入力ミスなどを表示するためのバリデーション機能はjQueryを使用して設置します。

以下のjQueryを使用するためのコードを</head>より上に記述します。

jQueryはバージョン1.3.2を使用していますが、サンプルですので他のバージョンでも構いません。

次に、バリデーション機能を持つjQueryを作ります。ファイル名は、validate.jsで作成して以下のコードを記述します。

上記のコードの各チェック部分にある「.〇〇(.requiredや.numberなど)」を先程のcontact.html内のclassに記述すると、動作するようになります。

required

入力されていない場合に「※必須項目です」と表示します。

required2

入力されていない場合にエラーを返しますが、「※必須項目です」とは表示されません。

number

数値以外を記入すると、「※数値のみ入力可能です」と表示します。

mail

メールアドレス以外を記入すると、「※メールアドレスの形式が異なります」と表示します。

mail_check

お問い合わせではメールは間違いがないか確認のために2回入力しますが、一致しない場合は「※メールアドレスと内容が異なります」と表示します。

required

ラジオボタンのチェックがない場合に「※選択してください」と表示します。

ラジオボタンのサンプルhtmlです。片方にclassを記述します。

checkboxRequired

チェックボックスのチェックがない場合に「※選択してください」と表示します。

チェックボックスのサンプルhtmlです。全体をdivで囲んでclassを記述します。div以外にもtdやddでも構いません。なお、チェックボタンに関してはclassタグにvalidateは必要ありません。

validate add_text

チェックボックスのその他をチェックして、フォームに入力がない場合に「※その他の項目を入力してください。」と表示します。

チェックボタンのその他の項目のバリデーション

チェックボックスのその他のサンプルhtmlです。

エラーの際の処理

お問い合わせフォームを入力してエラーが表示された場合に上にスクロールして戻ります。初期値は40です。数値が小さいほど遅く上部に戻り、大きいほど早く上部に戻ります。

上部にスクロールして戻る

参考にしたjQuery:HtmlDrive

確認画面ページ

確認画面ページのサンプル

内容を確認するためのページを作成します。

check_inquiry.phpの名前でファイルを作成します。ファイル内には以下の内容を記述します。

送信完了ページ

送信完了ページのサンプル

送信完了のページを作成します。

send_inquiry.phpの名前でファイルを作成します。ファイル内には以下の内容を記述します。

$email = ‘info@abc@gmail.com’;の部分は自分に届くメールのFromアドレスの設定(自動送信<送信元のアドレス>)です。形だけですので特に何でも良いです。

$result = mb_send_mail("def@gmail.com", $title, $message, $header);の部分は、送信内容を受け取るメールアドレスです。この例だと、def@gmail.comにメールが届きます。ご自身のメールアドレスに合わせて変更します。

なお、複数のメールアドレスを記述する場合は"def@gmail.com,ghi@gmail.com"とします。

実際に届いたメールの文書です。

届いたメールの内容

まとめ

PHPとjQueryを使った簡単なお問い合わせフォームですが、WEBサイトに設置するときに役立つと思います。

最近はWordPressでサイトを制作することが多くなり、プラグインで簡単にお問い合わせが設置できるので、1から作る必要もなくなりました。しかし、HTMLを使用したWEBサイトを制作する場合は、お問い合わせを良く設置するので、作り方を知っていると便利です。