本文へ移動
FreelanceForm 購入者向け設置ガイド

自分のサイトに組み込む

設置仕様とファイルの役割

必要なPHP機能、入力ページの改名、添付の設定。

このページの目次

必要なPHP機能、配置、改名時の設定をまとめています。初めての方は入門ガイドから順に進められます。

必要な環境

項目 必要なもの
サーバー PHP 8.1以上が動作するWebサーバー
PHPの機能 mbstring、fileinfo、セッション。TLS接続時はOpenSSL
保存先 PHPから書き込めるセッション保存先・一時保存先
メール 利用可能なSMTP接続先とアカウント
ブラウザー JavaScript・Cookieが有効であること

データベースは使いません。PHPMailer 6.9.3を PHPMailer/ に同梱し、直接読み込みます。通常の設置にComposerやNode.jsは不要です。

ファイルの役割

パスはフォーム一式のフォルダを基準にしています。

TEXT
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 に変える例です。最初は元の名前で動作確認してください。

  1. ファイル名を contact.php に変更します。
  2. ファイル先頭の $mfInputPage を合わせます。
PHP
$mfFormId = 'contact';
$mfInputPage = 'contact.php';
require __DIR__ . '/form/php/input.php';
  1. form/php/config/forms.php の contact の中にある page の行を変更します。
PHP
'page' => 'contact.php',
  1. サイト内のフォームへのリンクを新しいURLに変えます。
  2. 新しい入力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)から開けます。容量が不足する場合の例です。

INI
upload_max_filesize = 8M
post_max_size = 20M
max_file_uploads = 2

max_file_uploads は2以上を確保します。変更後はApacheをStop → Startで再起動します。公開サーバーではサーバー会社の管理画面・指定方法を使ってください。

入力情報と添付の保持期限は最終更新から1時間です。送信完了時に添付を削除します。期限切れ削除は次の入力・確認処理時で、アクセスがなくても時刻どおりに消す仕組みではありません。

動作確認の入口

通常の設置は公開前チェックリスト、PHP・HTTPの自動検証は制作担当者向けの検証を参照してください。