1. HTML 表单(index.html):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PHP Form Validation - Email and URL</title>
</head>
<body>
<form action="process_form.php" method="post">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<label for="website">Website:</label>
<input type="url" id="website" name="website" required>
<input type="submit" value="Submit">
</form>
</body>
</html>
在上述例子中,我们使用了 <input type="email"> 来告诉浏览器这是一个电子邮件输入框,而 <input type="url"> 则表示这是一个URL输入框。这两个输入框都添加了 required 属性,以确保用户在提交表单时填写了这两个字段。
2. PHP 处理脚本(process_form.php):
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 获取表单数据
$email = $_POST["email"];
$website = $_POST["website"];
// 进行电子邮件和URL验证
$errors = [];
// 验证邮箱
if (empty($email)) {
$errors[] = "Email is required";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = "Invalid email format";
}
// 验证URL
if (empty($website)) {
$errors[] = "Website is required";
} elseif (!filter_var($website, FILTER_VALIDATE_URL)) {
$errors[] = "Invalid URL format";
}
// 输出验证结果
if (empty($errors)) {
echo "Email: $email<br>";
echo "Website: $website";
} else {
echo "Validation errors:<br>";
foreach ($errors as $error) {
echo "- $error<br>";
}
}
}
?>
在处理脚本中,我们使用了 FILTER_VALIDATE_EMAIL 过滤器来验证电子邮件的格式,并使用 FILTER_VALIDATE_URL 过滤器来验证URL的格式。如果输入的邮箱或URL不符合格式要求,就会在验证错误数组中添加相应的错误信息。
这是一个基本的例子,你可以根据实际需求进行更复杂的验证。注意,过滤器是一种方便的验证方式,但在特定情况下,你可能需要使用正则表达式等更高级的验证方法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/13809/PHP