必要なPHP機能、配置、改名時の設定をまとめています。初めての方は入門ガイドから順に進められます。
必要な環境
| 項目 | 必要なもの |
|---|---|
| サーバー | PHP 8.1以上が動作するWebサーバー |
| PHPの機能 |
mbstring、fileinfo、セッション。TLS接続時はOpenSSL
|
| 保存先 | PHPから書き込めるセッション保存先・一時保存先 |
| メール | 利用可能なSMTP接続先とアカウント |
| ブラウザー | JavaScript・Cookieが有効であること |
データベースは使いません。PHPMailer 6.9.3を
PHPMailer/ に同梱し、直接読み込みます。通常の設置にComposerやNode.jsは不要です。
ファイルの役割
パスはフォーム一式のフォルダを基準にしています。
contact-demo/
├─ index-contact.php お問い合わせの入力画面
├─ index-reservation.php など 用途別10ページ
├─ index.php 共通項目の見本
├─ index-design-01.php ~ 10.php デザイン見本
├─ form/
│ ├─ css/ 見た目
│ ├─ js/ 入力操作の補助
│ ├─ images/ 商品画像など
│ └─ php/
│ ├─ input.php 入力状態の準備
│ ├─ common.php 検証・添付・メールの共通処理
│ ├─ confirm.php 確認画面
│ ├─ send.php メール送信
│ ├─ thanks.php 完了画面
│ └─ config/
│ ├─ config.php SMTP・送信元・受信先
│ ├─ forms.php 用途別の項目と戻り先
│ └─ catalogs.php 商品・価格・送料
└─ PHPMailer/ メール送信ライブラリ
contact-demo は例です。一式を
contact などへまとめて置けます。入力PHP・form/・PHPMailer/
の位置関係を保ってください。個々の共通PHPだけを移動する場合は、参照先全体の調整が必要です。
入力ページのファイル名を変える
お問い合わせの index-contact.php を、同じフォルダ内で
contact.php に変える例です。最初は元の名前で動作確認してください。
- ファイル名を
contact.phpに変更します。 - ファイル先頭の
$mfInputPageを合わせます。
$mfFormId = 'contact';
$mfInputPage = 'contact.php';
require __DIR__ . '/form/php/input.php';
-
form/php/config/forms.phpのcontactの中にあるpageの行を変更します。
'page' => 'contact.php',
- サイト内のフォームへのリンクを新しいURLに変えます。
- 新しい入力URLから、入力 → 確認 → 修正 → 送信を確認します。
上は変更箇所の抜粋です。ファイル全体を置き換えないでください。$mfInputPage だけでは戻り先は変わりません。
用途別フォームの戻り先は forms.php の
page を使います。改名前の入力途中の画面は閉じてから試します。
これは用途別ページを同じ階層で改名する手順です。index.php
やデザイン見本は別の共通定義を使うため、用途別ページをベースにしてください。サブフォルダへの移動も別途パス調整が必要です。
組み込み時に必要な部品
サイトへの組み込みに沿って、先頭のPHP、.mf-form-shell、フォーム内の
mfInputState()、元のCSS・JavaScriptを残します。
注文用途には、商品カード用 form/css/addon/order-cart.css、先頭の
$mfCatalogId、order-products.php の読み込みも必要です。index-order.php
は shipping、index-delivery.php は
delivery の商品設定を使います。
添付ファイルを使う場合
採用の resume はPDF1ファイル、index.php とデザイン見本の
attachment[]
はPDF・JPEG・PNGを2ファイルまで、いずれも1ファイル5MBまでです。お問い合わせの
index-contact.php に添付欄は初期配置されていません。
添付は確認画面まで保持し、運営者通知に付けます。自動返信には添付しません。
php.ini はPHP本体の設定ファイルです。XAMPPではControl PanelのApache → Config → PHP
(php.ini)から開けます。容量が不足する場合の例です。
upload_max_filesize = 8M
post_max_size = 20M
max_file_uploads = 2
max_file_uploads は2以上を確保します。変更後はApacheをStop →
Startで再起動します。公開サーバーではサーバー会社の管理画面・指定方法を使ってください。
入力情報と添付の保持期限は最終更新から1時間です。送信完了時に添付を削除します。期限切れ削除は次の入力・確認処理時で、アクセスがなくても時刻どおりに消す仕組みではありません。
動作確認の入口
通常の設置は公開前チェックリスト、PHP・HTTPの自動検証は制作担当者向けの検証を参照してください。