0Pricing
PHP Academy · レッスン

PHPでフォームデータを処理する

PHPを使ってフォームデータを取得、処理します

「PHPでフォームデータを処理する」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全3レッスンが含まれています。

フォーム送信の処理

PHPでフォームデータを処理する

次のレッスンへようこそ。このレッスンでは、HTMLフォームから送信されたデータをPHPで処理する方法を学びます。フォームを機能させる方法を、さっそく学びましょう。

PHPでフォームデータを処理する — イラスト1

PHPによるフォームデータの処理

PHPによるフォームデータの処理

ユーザーがフォームを送信すると、データはフォームのaction属性で指定されたPHPスクリプトに送信されます。PHPは$_GETまたは$_POSTスーパーグローバルを使って、このデータを処理します。

重要なポイント:機密データには$_POSTを使用し、URLに表示されても問題のない非機密データには$_GETを使用してください。

$_POSTスーパーグローバルの使用

$_POSTスーパーグローバルの使用

$_POST配列には、HTTP POSTメソッドで送信されたデータが格納されます。例:

タスク:ユーザーの名前を収集し、PHPを使って挨拶を表示するフォームを作成してください。

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    echo "Hello, $name!";
  }
?>

$_GETスーパーグローバルの使用

$_GETスーパーグローバルの使用

$_GET配列には、HTTP GETメソッドで送信されたデータが格納されます。例:

ヒント:検索クエリやページネーションなどのデータを取得するには、$_GETを使用してください。

<?php
  if ($_SERVER["REQUEST_METHOD"] == "GET") {
    $query = $_GET["search"];
    echo "You searched for: $query";
  }
?>

フォームバリデーションの基本

フォームバリデーションの基本

フォームデータを処理する前に、安全で正確であることを確認するために検証します。例:

ヒント:エラーやセキュリティ上の問題を防ぐため、ユーザー入力は必ず検証してください。

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $email = $_POST["email"];
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
      echo "Valid email: $email";
    } else {
      echo "Invalid email address.";
    }
  }
?>

送信されたデータの表示

送信されたデータの表示

データを検証したら、そのデータをユーザーに表示したり、アプリケーションで使用したりします。例:

重要なポイント:特殊文字をエスケープしてXSS攻撃を防ぐには、htmlspecialchars()を使用してください。

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST["name"]);
    echo "Thank you, $name!";
  }
?>

複数の入力の処理

複数の入力の処理

チェックボックスなどの複数の入力を処理するには、配列を使用します。例:

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $hobbies = $_POST["hobbies"];
    echo "Your hobbies are: " . implode(", ", $hobbies);
  }
?>

よくある落とし穴

よくある落とし穴

フォームデータを処理するときは、次のようなよくある間違いに注意してください。

  • リクエストメソッドを確認しない。
  • ユーザー入力の検証を忘れる。
  • ユーザー入力をエスケープせずに直接出力する。

ヒント:アプリケーションでデータを使用する前に、必ずサニタイズと検証を行ってください。

よくできました!

よくできました!

おめでとうございます!PHPで$_POSTと$_GETのスーパーグローバルを使ってフォームデータを扱う方法を学びました。また、基本的なフォーム検証の手法についても学習しました。次のレッスンでは、フォーム入力の検証とセキュリティ対策について、さらに詳しく見ていきます。引き続きコーディングに取り組みましょう!

PHPでフォームデータを処理する — イラスト10

よくある質問

「PHPでフォームデータを処理する」レッスンは無料ですか?

はい。「PHPでフォームデータを処理する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全3レッスンが含まれています。

「PHPでフォームデータを処理する」で何を学びますか?

PHPを使ってフォームデータを取得、処理します ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

PHP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。

「PHPでフォームデータを処理する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPHP Academyレッスンでコードを書いて実行できますか?

はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. HTMLフォームを作成する
  2. PHPでフォームデータを処理する
  3. フォームのバリデーション
← PHP Academyに戻る