如果消息包含链接,如何防止表单提交?

问题描述

谁能帮帮我?我正在努力防止联系表格中的垃圾邮件。 我想用 PHP 来实现这一点。我在网上找不到任何解决方案。预先感谢谁能帮助我。


HTML

   <form name="myForm" id="myForm" method="post" action="contact-form.PHP">   
                        <input type="text" name="name" value="" class="form-control mt-3" id="name" placeholder="Full Name" required>
                        <input type="email" name="email" value="" class="form-control mt-3" id="email" placeholder="Email" required>   
                        <textarea class="form-control mt-3" name="message" id="message" placeholder="Type your message" rows="7" required></textarea>  
                        <input type="text" id="Nomoboto" name="Nomoboto"  value="800 800 1000" autocomplete="off"  />
                        <input type="text" id="PostItBoto" name="PostItBoto" value="93940" autocomplete="off"  />
                        <input type="text" id="Empty_Me" name="Empty_Me" value=""/>
                        <input type="text" id="Empty_You" name="Empty_You" value=""/>                  
                  <button type="submit" class="btn btn-primary float-right mt-3">Send Message</button>
                </form>

PHP

<?PHP

    $name = $_POST ['name'];
    $email = $_POST ['email'];
    $message = $_POST ['message'];
    $Empty_Me = $_POST ['Empty_Me'];
    $Empty_You = $_POST ['Empty_You'];
    
    $email_from = 'Contact Form';
    $email_subject = "New Form Submission";
    $email_body = "User Name: $name.\n". 
                  "User Email: $email.\n". 
                  "User Message: $message.\n".
                  "Empty_Me: $Empty_Me.\n".
                  "Empty_You: $Empty_You.\n";
    
    function email_validation($str) {
    return (!preg_match(
    "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^",$str))
    ? FALSE : TRUE;
    }
    
    
    $to = "info@mail.com";
    $headers = "From $email_from \r\n";
    mail($to,$email_subject,$email_body,$headers);
    header("Location: index.html");

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)