我需要帮助。我需要做什么来验证此表单中的电子邮件?这是一个登录页,我想在访问者访问我的内容之前收到他的电子邮件。这里是这个演示。
我可以得到一些提示或正确的代码来使用这个页面吗?
<form id="contact-form" action="send.php">
<input type="text" name="email" placeholder="you@yourmail.com" class="cform-text" size="40" title="your email" required>
<input type="submit" value="Enter Now" class="cform-submit">
</form>
send.php文件:
$visitorEmail = $_GET['email'];
$email_from = "doctordongok@gmail.com";
$email_subject = "New Form Submission! - From: " + $visitorEmail;
// edit here
$email_body = "New visitor - $visitorEmail";
$to = "doctordongok@gmail.com";
$headers = "From: $email_from 'r 'n";
$headers .= "Reply-To: $visitorEmail 'r 'n";
mail($to, $email_subject, $email_body, $headers);
header("Location: http://www.de-signs.com.au");
谢谢!
使用PHP的filter_var()
函数:
if(filter_var($visitorEmail, FILTER_VALIDATE_EMAIL) === false) {
// Invalid E-Mail address
} else {
// OK
}
所以来模拟你的新剧本。它看起来像这个
$visitorEmail = $_GET['email'];
if(filter_var($visitorEmail, FILTER_VALIDATE_EMAIL) === false) {
die('Sorry that''s no valid e-mail address');
} else {
$email_from = 'doctordongok@gmail.com';
$email_subject = 'New Form Submission! - From: ' . $visitorEmail;
// edit here
$email_body = 'New visitor - ' . $visitorEmail;
$to = 'doctordongok@gmail.com';
$headers = 'From: $email_from' . PHP_EOL;
$headers .= 'Reply-To: $visitorEmail' . PHP_EOL;
mail($to, $email_subject, $email_body, $headers);
header('Location: http://www.de-signs.com.au');
exit;
}
您的最佳选择可能是在客户端使用Javascript进行验证,在服务器端使用正则表达式进行验证。
使用Javascript 验证电子邮件
HTML5新的email
输入类型将为您提供帮助。
<input type="email" name="email" placeholder="you@yourmail.com" class="cform-text" size="40" title="your email" required />