Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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_Html - Fatal编程技术网

无法处理php电子邮件验证函数

无法处理php电子邮件验证函数,php,html,Php,Html,我已经编写了一些代码来创建联系人表单,但是我尝试验证电子邮件字段,当我使用错误电子邮件的虚拟数据进行测试时,我使用的函数(filter_var($email,filter_validate_email))不会得到处理。我将所有的php和html代码添加到一个文件中,以便于阅读,并且不会使事情复杂化 这是我的全部代码: <?php // define variables and set to empty values $first_nameErr = $last_nameErr = $e

我已经编写了一些代码来创建联系人表单,但是我尝试验证电子邮件字段,当我使用错误电子邮件的虚拟数据进行测试时,我使用的函数(filter_var($email,filter_validate_email))不会得到处理。我将所有的php和html代码添加到一个文件中,以便于阅读,并且不会使事情复杂化

这是我的全部代码:

<?php 

// define variables and set to empty values
$first_nameErr = $last_nameErr = $emailErr = $messageErr  = "";
$first_name = $last_name = $email = $from = "";

if($_SERVER["REQUEST_METHOD"] == "POST"){
    $to = "pdgcaracas@gmail.com"; // this is your Email address
    // this is the sender's Email address
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $from = $_POST['email'];
    $subject = "Form submission";
    $subject2 = "Copy of your form submission";
    $message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
    $message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];
    $headers = "From:" . $from;
    $headers2 = "From:" . $to;

    if (empty($_POST["first_name"])){
        $first_nameErr = " First name is required";
    }
    else if ((!preg_match("/^[a-zA-Z-' ]*$/",$first_name))) {
        $first_nameErr = "Please type in only letters and whitespace";
    }
    else if(empty($_POST["last_name"])){
        $last_nameErr = " Last name is required";
    }
    else if ((!preg_match("/^[a-zA-Z-' ]*$/",$last_name))) {
        $last_nameErr = "Please type in only letters and whitespace";
    }
    else if (empty($_POST["email"])) {
        $emailErr = "Email is required";
    }
    else if (filter_var($email, FILTER_VALIDATE_EMAIL)) { 
        $emailErr = "Email is invalid";
    }
    else if (empty($_POST["message"])) {
        $messageErr = "message is required";
    }
    else {
        mail($to,$subject,$message,$headers);
        mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
        echo '<script>alert("Mail Sent. Thank you , we will contact you shortly.")</script>';
    }
    // You can also use header('Location: thank_you.php'); to redirect to another page.
}
?>

<!DOCTYPE HTML>
<!--
    Industrious by TEMPLATED
    templated.co @templatedco
    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-->
<html>
    <head>
        <title>Generic Page - Industrious by TEMPLATED</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
        <meta name="description" content="" />
        <meta name="keywords" content="" />
        <link rel="stylesheet" href="assets/css/main.css" />
    </head>
    <body class="is-preload">

        <!-- Header -->
            <header id="header">
                <a class="logo" href="index.html">Test</a>
                <nav>
                    <a href="#menu">Menu</a>
                </nav>
            </header>

        <!-- Nav -->
            <nav id="menu">
                <ul class="links">
                    <li><a href="index.html">Home</a></li>
                    <li><a href="elements.html">Elements</a></li>
                    <li><a href="aboutme.html">About me</a></li>
                </ul>
            </nav>

        <!-- Heading -->
            <div id="heading" >
                <h1>Contact Us</h1>
            </div>

        <!-- Main -->
            <section id="main" class="wrapper">
                <div class="inner">
                    <div class="content">
                     <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
First Name: <input type="text" name="first_name">
<span class="error">* <?php echo $first_nameErr;?></span>
<br>
Last Name: <input type="text" name="last_name">
<span class="error">* <?php echo $last_nameErr;?></span><br>
Email: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea>
<span class="error">* <?php echo $messageErr;?></span><br><br>
<input type="submit" name="submit" value="Submit">



  

  </form>

                    </div>
                </div>
            </section>
            <!-- Footer -->
            <footer id="footer">
                <div class="inner">
                    <div class="content">
                        <section>
                            <h3>Accumsan montes viverra</h3>
                            <p>Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing. Lorem ipsum dolor vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing sed feugiat eu faucibus. Integer ac sed amet praesent. Nunc lacinia ante nunc ac gravida.</p>
                        </section>
                        <section>
                            <h4>Sem turpis amet semper</h4>
                            <ul class="alt">
                                <li><a href="#">Dolor pulvinar sed etiam.</a></li>
                                <li><a href="#">Etiam vel lorem sed amet.</a></li>
                                <li><a href="#">Felis enim feugiat viverra.</a></li>
                                <li><a href="#">Dolor pulvinar magna etiam.</a></li>
                            </ul>
                        </section>
                    <section>
                            <h4>Magna sed ipsum</h4>
                            <ul class="plain">
                                <li><a href="#"><i class="icon fa-twitter">&nbsp;</i>Twitter</a></li>
                                <li><a href="#"><i class="icon fa-facebook">&nbsp;</i>Facebook</a></li>
                                <li><a href="#"><i class="icon fa-instagram">&nbsp;</i>Instagram</a></li>
                                <li><a href="#"><i class="icon fa-github">&nbsp;</i>Github</a></li>
                            </ul>
                        </section>
                    </div>
                    <div class="copyright">
                        &copy; Untitled. Photos <a href="https://unsplash.co">Unsplash</a>, Video <a href="https://coverr.co">Coverr</a>.
                    </div>
                </div>
            </footer>

        <!-- Scripts -->
            <script src="assets/js/jquery.min.js"></script>
            <script src="assets/js/browser.min.js"></script>
            <script src="assets/js/breakpoints.min.js"></script>
            <script src="assets/js/util.js"></script>
            <script src="assets/js/main.js"></script>
        </body>
        </html>

filter\u var仅在提供的$email有效时返回true。
要检查电子邮件是否无效,请按如下所示更改filter_var的if语句,它应该可以工作

//your code
if (!(filter_var($email, FILTER_VALIDATE_EMAIL))) { 
    $emailErr = "Email is invalid";
}
//your code

您分配
$from=$\u POST['email']
但是你验证了
$email
而不是
$from
。太棒了!谢谢你的反馈,我不知道我是怎么错过的!您是否看到我的代码中可能遗漏的任何内容?我继续并将
else if(filter\u var($email,filter\u VALIDATE\u email))
更改为
else if(filter\u var($from,filter\u VALIDATE\u email))
,但它仍然没有验证。