PHP でお問い合わせシステム制作

PHP でお問い合わせシステム制作。自分と相手にメール送信

PHP開発環境がない場合は「 AlmaLinux8.5, Apache2.4, MySQL8.0, PHP8.1 」で LAMP 環境を構築後に実施。



練習1 : お問い合わせシステム制作

お問い合わせシステムフロー

▼ 入力フォームページ制作。項目を入力、データ POST 送信

contact_form.php

  • htmlspecialchars() : XSS(クロスサイトスクリプティング)対策
  • CSRFトークン : クロスサイトリクエストフォージェリ対策

(ブラウザ表示)

  • ページが文字化け...文字コードを「UTF-8」に指定してファイルを保存

▼ POST データをチェック、表示

contact_check.php
  • nl2br : テキストエリアで入力した改行文字 (\r\n、 \n\r、\n および \r) で改行

(ブラウザ表示)


▼ メール送信処理。

contact_thanks.php
  • mb_send_mail : メール送信

(ブラウザ表示)

(お問い合わせユーザー宛のメール)

件名    お問い合わせありがとうございます
送信者  info@sunabird.local
宛先    test@sunabird.local
メール本文
テスト 太郎様

お問い合わせいただき誠にありがとうございます。
内容を確認し担当者より連絡いたします。

---
(署名)

(自分宛のメール)

件名    ホームページからお問い合わせがありました
送信者  info@sunabird.local
宛先    (送信先メールアドレス)
メール本文
お名前 : テスト 太郎
電話 : 000-000-0000
メール : test@sunabird.local
お問い合わせ内容 :
お問い合わせテスト
改行テスト

  • メールが送信されない場合、Postfix の設定を見直す

▼ お問い合わせシステム動作テスト項目

  • お名前項目の入力チェック(NULL)
  • メール項目の入力チェック(NULL, 形式, 確認メール一致)
  • お問い合わせ内容項目の入力チェック(NULL)
  • お名前項目のエラー表示
  • メール項目のエラー表示
  • お問い合わせ内容項目のエラー表示
  • お問い合わせ内容の改行表示
  • XSS、CSRF 対策
  • お問い合わせユーザー宛メール送信
  • 自分宛メール送信

ポイント

  • XSS、CSRF 対策
  • mb_send_mailのメール送信処理