ToshiLab PHP 3-4｜簡単なお問い合わせフォーム
================================================

このZIPは、PHP初心者向けの「参考用サンプル」です。

学習テーマ
----------
・HTMLフォームを作る
・CSSでフォームを見やすくする
・POSTで送信する
・PHPの $_POST で値を受け取る
・入力内容をPHP側でもチェックする
・htmlspecialchars() を使って安全に表示する
・正常時に完了画面へ切り替える
・JavaScriptで文字数カウンターを追加する（補助機能）

重要
----
このサンプルは学習用です。
実際のメール送信処理は含まれていません。

そのまま本番サイトへ設置することは想定していません。
本番環境では、CSRF対策、迷惑送信対策、レート制限、
メール送信・SMTP設定、ログ管理、個人情報の取り扱いなどを
追加で検討してください。


■ ファイル構成

php-03-04/
├── contact.php
├── config.php
├── style.css
├── script.js
├── README.txt
└── SECURITY-NOTE.txt


■ 1. ローカル環境へ配置する

Laragonを使う場合は、学習用フォルダーの中へ
php-03-04 フォルダーごと配置してください。

例：

C:\laragon\www\your-project\php-03-04\


■ 2. config.php のURLを書き換える

config.php には、最初からダミーURLが入っています。

http://localhost/your-project/php-03-04/

この部分を、自分のローカル環境に合わせて変更してください。

※ここに自分のローカル環境のURLを入力

例：

http://localhost/my-php-study/php-03-04/

URLの最後には / を付けてください。


■ 3. Laragonを起動する

Apacheを起動して、ブラウザから contact.php を開きます。

ダミーURL：

http://localhost/your-project/php-03-04/contact.php

※ここに自分のローカル環境のURLを入力


■ 4. 動作確認

次の3項目を入力します。

・お名前
・メールアドレス
・お問い合わせ内容

「送信する」を押してください。

正常な場合：

お問い合わせありがとうございます

という完了画面が表示されます。


■ 5. あえてエラーも確認する

・名前を空欄にする
・メールアドレスを空欄にする
・メールアドレスに abc などを入力する
・お問い合わせ内容を空欄にする

PHP側の入力チェックが動くことを確認してください。


■ HTMLについて

HTMLは contact.php の中に含まれています。

form のポイント：

method="post"

name="name"
name="email"
name="message"

PHP側の：

$_POST['name']
$_POST['email']
$_POST['message']

と対応しています。


■ CSSについて

style.css はフォームの見た目を整えるためのファイルです。

PHPの処理とは独立しています。


■ JavaScriptについて

script.js は補助機能です。

お問い合わせ内容の文字数を、

0 / 1000文字

のように表示します。

JavaScriptを削除しても、
PHPフォームの基本処理そのものは動きます。


■ PHPについて

contact.php では主に次を使っています。

$_SERVER['REQUEST_METHOD']
$_POST
trim()
filter_var()
FILTER_VALIDATE_EMAIL
htmlspecialchars()
empty()


■ このサンプルでは行わないこと

・実際のメール送信
・データベース保存
・ログイン処理
・ファイルアップロード
・CSRF対策
・CAPTCHA
・迷惑送信対策

これらは、PHP基礎の次の段階で扱う内容です。


■ 実行環境の目安

PHP 8.x
Laragon などのPHPが動くローカル環境


ToshiLab PHP Learning
PHP 3-4｜お問い合わせフォーム
