PHPで入力フォームを作ってみよう!
今回は、ホームページでよくある「お問い合わせ」を作ってみます。
機能として、ユーザがブラウザから
名前
メールアドレス
お問い合わせ内容
を入力し「確認」ボタンを押します。
すると確認画面へページ遷移し、確認ページで内容が正しければ、「送信」ボタンを押すことで入力内容が送信されます。
※あらかじめメールサーバーの準備が必要です。
レンタルサーバーでメールフォームを実装する場合は、既にレンタルサーバーにてメールサーバーが準備されています。
入力画面(inputform.php)のサンプル
ポイント
- フォームの内容を送信するため、送信する要素をformタグ内に記述します。actionの記述は入力データの送信先を指定しています。
- メールアドレスのtypeの記述(email)は、入力された値にアットマーク( @ )を含む妥当なメールアドレスでは無い場合にバリデーション(チェック)が働きます。
- type="submit"で確認ボタンを生成してます。
確認画面(checkform.php)のサンプル
ポイント
1.入力された内容は$_POST["name属性"]という形で取得できるのでそれを$_SESSIONに格納します。
また、入力データの取得でhtmlspecialchars関数を使用していますが、これは入力された$_POSTの内容を安全・無害な値にするためです。
※$_SESSIONに格納することでアプリケーション全体のページで入力値を参照したり変更したりすることができます。データはサーバー中に保存されブラウザが閉じられたりする時まで使い続けることができます。
2.入力された内容を表示する場合、echo関数を使用します。
送信完了画面(submitform.php)のサンプル
ポイント
1.メール送信する関数を使用しています。
mb_send_mail(送信先, 件名, メッセージ本文 ,ヘッダ情報)
※送信先に各アドレスをカンマで区切ると、複数の宛先を 送信先 に指定できます。
まとめ
WEBサイトなどホームページ制作にあたっては、セキュリティなどを十分に考慮しながら作成していくことになりますが、その際には参考書やサイトなどを熟読の上安全なWEBサイトを制作していただきたいと思います。
注意
上記はフォームを利用したPHPの学習ということでメール送信という例で説明していますので実際に必要なセキュリティロジックは省略してあります。