Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php验证电子邮件地址?_Php_Validation_Email_Verification - Fatal编程技术网

如何使用php验证电子邮件地址?

如何使用php验证电子邮件地址?,php,validation,email,verification,Php,Validation,Email,Verification,我开始尝试编写一个php脚本来验证用户在我的表单中输入的电子邮件地址。 有人能帮我完成吗?提前谢谢。我们将非常感谢您的帮助: 注意:请不要告诉我使用javascript或jQuery。我需要用php实现这一点:/ <?php $mail = $_POST['mail']; $formcontent = "Email: $mail"; $recipient = "email@example.com"; $subject = "Mail that uploaded picture"; $mai

我开始尝试编写一个php脚本来验证用户在我的表单中输入的电子邮件地址。 有人能帮我完成吗?提前谢谢。我们将非常感谢您的帮助: 注意:请不要告诉我使用javascript或jQuery。我需要用php实现这一点:/

<?php
$mail = $_POST['mail'];
$formcontent = "Email: $mail";
$recipient = "email@example.com";
$subject = "Mail that uploaded picture";
$mailheader = "From: my website";

if ($mail == ""){
echo "Please enter a valid email address. We want to contact you using your email address. Do not worry, nobody will be able to see it.";
}

else{
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo 'Your email address has been successfully added to your photo !<br>We will contact you later to tell you how to win the $50 000 :)<br><br>';}

?>
像这样:

$email = 'email@example.com';
if (filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo 'Email OK';
}
在源代码中:

$mail = $_POST['mail'];
$formcontent = "Email: $mail";
$recipient = "email@example.com";
$subject = "Mail that uploaded picture";
$mailheader = "From: my website";

if (!filter_var($mail, FILTER_VALIDATE_EMAIL)){
    echo "Please enter a valid email address. We want to contact you using your email address. Do not worry, nobody will be able to see it.";
} else {
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo 'Your email address has been successfully added to your photo !<br>We will contact you later to tell you how to win the $50 000 :)<br><br>';
}    

理想情况下,您还应该检查是否定义了$\u POST['mail'],因为根据错误报告级别和显示错误,您将收到错误/通知

更新代码:

if (!isset($_POST['mail']) || !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL)) {
    echo "Please enter a valid email address. We want to contact you using your email address. Do not worry, nobody will be able to see it.";
} else {
    $mail = $_POST['mail'];
    $formcontent = "Email: $mail";
    $recipient = "email@example.com";
    $subject = "Mail that uploaded picture";
    $mailheader = "From: my website";

    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo 'Your email address has been successfully added to your photo !<br>We will contact you later to tell you how to win the $50 000 :)<br><br>';
}

那么它可能是重复的:查看并决定向validateDo发送确认电子邮件,不要使用正则表达式。使用此选项:我不知道为什么会被否决。如果其他人想要得到分数,请向上投票以获得正确答案:根据计票结果,这不是被否决。@Brad,这是在我发布第一条评论时发生的。否则,我就不会这么说了-@弗雷德二世-我相信你。。。只是指出而已。也许有人很快或错误地投了赞成票。快速开火!你的建议是如果$mail==| |!filter\u var$mail,filter\u VALIDATE\u EMAIL{},但是在条件中不需要$mail==这个参数。很好的调用,我已经更新了代码,以检查是否实际设置了$\u POST['mail']。