PHP は、対話型 Web フォームを作成および処理するための関数を提供します。フォーム要素の作成 (HTML を使用してフィールドを定義)、$_POST または $_GET を使用してフォーム データにアクセス、filter_var() を使用して入力を検証します。検証エラー。
PHP 関数を使用したインタラクティブな Web フォームの作成
PHP には、インタラクティブな Web フォームの作成と処理に役立つさまざまな関数が提供されています。 Web フォームのフォーム。この記事では、これらの関数を使用して完全に機能するフォームを構築する方法について説明します。
1. フォーム要素の作成
HTML を使用して次のようにフォーム要素を定義します。
<form action="process.php" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name" required> <label for="email">邮箱:</label> <input type="email" id="email" name="email" required> <input type="submit" value="提交"> </form>
2. PHP 関数を使用します。データ
ユーザーがフォームを送信した後、$_POST
または $_GET
関数を使用してフォーム データにアクセスできます。
上記のフォームの場合、次の PHP コードを使用してデータを処理できます:
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST['name']; $email = $_POST['email']; // 在这里处理表单数据 } ?>
3. フォーム入力を検証します
フォーム入力が有効であることを確認するには、filter_var()
:
<?php if (filter_var($email, FILTER_VALIDATE_EMAIL)) { // 有效的电子邮件地址 } else { // 无效的电子邮件地址 } ?>
4 などの PHP の検証関数を使用します。エラーを処理します。検証エラーが発生した場合は、次のコードを使用できます。エラー メッセージを表示します:
<?php if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "<p>无效的电子邮件地址</p>"; } ?>
実用的なケース
以下は、上記の関数を使用して作成する例です。インタラクティブなユーザー登録フォーム:
<!-- form.php --> <form action="process.php" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username" required> <label for="password">密码:</label> <input type="password" id="password" name="password" required> <input type="submit" value="注册"> </form>
<!-- process.php --> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取表单数据 $username = $_POST['username']; $password = $_POST['password']; // 验证表单输入 if (!preg_match('/^[a-zA-Z0-9]+$/', $username)) { echo "<p>无效的用户名</p>"; } else if (!preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/', $password)) { echo "<p>无效的密码</p>"; } else { // 密码散列和插入数据库 $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $query = "INSERT INTO users (username, password) VALUES (?, ?)"; $stmt = $conn->prepare($query); $stmt->bind_param('ss', $username, $hashedPassword); $stmt->execute(); echo "<p>注册成功!</p>"; } } ?>
以上がPHP 関数を使用してインタラクティブな Web フォームを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。