現在の位置: ホーム> 最新記事一覧> 複数のフォームと実用的な例を提出するための完全なガイド

複数のフォームと実用的な例を提出するための完全なガイド

M66 2025-06-22

複数のフォームを設計する方法

Webページで複数のフォームを使用する場合、各フォームの一意の名前または[ボタン名]を設定して、バックエンドを容易にして送信ソースを識別する必要があります。次の例は、2つの別々のフォームを示しています。1つはユーザー登録用、もう1つはユーザーログイン用です。

 <form action="handle_forms.php" method="post">
  <label for="register_name">名前:</label>
  <input type="text" name="register_name" id="register_name">
<p><label for="register_email">電子メールアドレス:</label><br>
<input type="email" name="register_email" id="register_email"></p>
<p><button type="submit" name="register_submit">登録する</button><br>
</form></p>
<p><form action="handle_forms.php" method="post"><br>
<label for="login_email">電子メールアドレス:</label><br>
<input type="email" name="login_email" id="login_email"></p>
<p><label for="login_password">パスワード:</label><br>
<input type="password" name="login_password" id="login_password"></p>
<p><button type="submit" name="login_submit">ログイン</button><br>
</form><br>

PHPサイドは複数のフォームの提出を処理します

処理ファイルで、 Isset()を使用して、対応する送信ボタンが存在するかどうかを判断し、現在送信されているフォームを特定します。次に、ビジネスニーズに応じて対応するデータを処理します。

 <?php
if (isset($_POST['register_submit'])) {
  // 处理登録する逻辑
  $name = $_POST['register_name'];
  $email = $_POST['register_email'];
  // ここでは、データベースストレージまたはその他の操作を追加できます
  echo "用户登録する成功!";
} elseif (isset($_POST['login_submit'])) {
  // 处理ログイン逻辑
  $email = $_POST['login_email'];
  $password = $_POST['login_password'];
  // ユーザーIDを確認します
  echo "用户ログイン成功!";
} else {
  echo "送信するフォームを選択してください!";
}
?>

この方法は簡潔で効果的であり、さまざまなフォームの提出を明確に区別し、独自のデータロジックを独立して処理できます。

データセキュリティと検証

クロスサイトスクリプト攻撃(XSS)などのセキュリティリスクを防ぐために、 htmlspecialchars()を使用してユーザー入力を逃れることをお勧めします。さらに、データの有効性とセキュリティを確保するために、電子メールの形式やパスワードの強さなどの主要フィールドに対して形式の検証を行う必要があります。

 $name = htmlspecialchars($_POST['register_name']);
$email = htmlspecialchars($_POST['register_email']);
// ここでは、さらに検証するために正規表現またはフィルターを使用できます

要約します

複数のフォームの送信を処理するには、合理的なフォームの命名とバックエンドの論理的判断が必要です。 PHPのISSET()を使用して、送信ボタンを決定することにより、データと検証と組み合わせて、安全で効率的なフォーム処理プロセスを実現できます。これらのスキルを習得すると、Webアプリケーションのインタラクティブなエクスペリエンスとデータセキュリティの向上に役立ちます。