お問い合わせフォームを作成する
メールでメッセージを送信するお問い合わせフォームを作成します
「お問い合わせフォームを作成する」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン2/2です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全2レッスンが含まれています。
お問い合わせフォームプロジェクトの概要
お問い合わせフォームを作成する
お問い合わせフォームの作成レッスンへようこそ!このプロジェクトでは、ユーザーがメールでメッセージを送信できるお問い合わせフォームの作り方を学びます。さっそく始めましょう!

プロジェクトをセットアップする
プロジェクトをセットアップする
始める前に、次のものが用意されていることを確認してください:
- XAMPPやWAMPなどのWebサーバー
- テキストエディターまたはIDE(例:VS Code)
- プロジェクトディレクトリ内の
contact.phpという名前のファイル - PHPの
mail()関数(メール送信に必要)が有効になっていること
ヒント:ローカルでテストする場合は、メールサーバーの設定が必要になることがあります。
基本的なHTMLフォームを作成する
基本的なHTMLフォームを作成する
まず、お問い合わせフォームのHTML構造を作成します。例:
重要なポイント:送信前にすべてのフィールドへの入力を必須にするには、required 属性を使用します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact Form</title>
</head>
<body>
<h1>Contact Us</h1>
<form action="contact.php" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name" required><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" required><br><br>
<label for="message">Message:</label><br>
<textarea id="message" name="message" rows="5" required></textarea><br><br>
<button type="submit" name="submit">Send Message</button>
</form>
</body>
</html>
フォームデータを処理する
フォームデータを処理する
contact.php ファイルでフォームの送信を処理します。例:
ヒント:HTML文字をエスケープしてXSS攻撃を防ぐには、htmlspecialchars() を使用します。
<?php
if (isset($_POST['submit'])) {
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
echo "Name: $name<br>";
echo "Email: $email<br>";
echo "Message: $message<br>";
}
?>
入力を検証する
入力を検証する
処理する前に、入力が要件を満たしていることを検証します。例:
重要なポイント:無効なデータや悪意のあるデータを防ぐため、ユーザー入力は必ず検証してください。
<?php
if (isset($_POST['submit'])) {
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
echo "Invalid email address.";
exit;
}
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
echo "Valid input. Processing...";
}
?>
メールを送信する
メールを送信する
PHPの mail() 関数を使用して、フォームデータをメールアドレスに送信します。例:
ヒント:メールが配信されない問題を避けるため、有効な From アドレスを使用します。
<?php
if (isset($_POST['submit'])) {
$to = "admin@example.com"; // Replace with your email
$subject = "New Contact Form Submission";
$message = "Name: $name\nEmail: $email\nMessage:\n$message";
$headers = "From: $email";
if (mail($to, $subject, $message, $headers)) {
echo "Message sent successfully!";
} else {
echo "Failed to send the message.";
}
}
?>
フォームを拡張する
フォームを拡張する
次のような機能を追加できます:
- フォーム自体に成功メッセージやエラーメッセージを表示します。
- CSSを使用してフォームをスタイリングし、ユーザーインターフェースを改善します。
- スパム送信を防ぐためにCAPTCHAを導入します。
重要なポイント:機能を拡張すると、ユーザー体験とセキュリティが向上します。
メールの問題をデバッグする
メールの問題をデバッグする
メールが送信されない場合は、次の項目を確認してください:
- PHPの
mail()関数が有効になっていることを確認します。 Fromメールアドレスが有効であることを確認します。- サーバーのメールログでエラーを確認します。
ヒント:高度なメール機能が必要な場合は、PHPMailer のようなライブラリの使用を検討してください。
よくできました!
よくできました!
おめでとうございます!PHPで機能的なお問い合わせフォームを構築できました。フォームの作成、フォームデータの処理、入力の検証、メールの送信方法を学びました。次のレッスンでは、PHPのスキルをさらに高めるために、別の楽しいプロジェクトを作成します。引き続きコーディングしましょう!

よくある質問
「お問い合わせフォームを作成する」レッスンは無料ですか?
はい。「お問い合わせフォームを作成する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全2レッスンが含まれています。
「お問い合わせフォームを作成する」で何を学びますか?
メールでメッセージを送信するお問い合わせフォームを作成します ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
PHP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/2です。
「お問い合わせフォームを作成する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPHP Academyレッスンでコードを書いて実行できますか?
はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 簡単なToDoリストを作成する
- お問い合わせフォームを作成する