繁体   English   中英

PHP联系表不起作用?

[英]Php contact form doesnt work?

我一直在尝试向我的网站添加联系人,但它似乎不起作用...提交表单时,它只会将我带到一个空白页面(在 url 中输入详细信息),请参阅下面的 html 和 php 表单.

HTML

<form action="contact.php">                 
     <input type="text" placeholder="Full Name" value="" name="name" />
     <br> <br>
     <select name="property">
         <option value="Commercial">Commercial</option>
         <option value="Residential">Residential</option>
     </select>
     <br> <br>
     <select name="work">
         <option value="Electrical">Electrical</option>
         <option value="Gas">Gas</option>
         <option value="Carpentry">Carpentry</option>
         <option value="Painting">Painting & decorating</option>
         <option value="Building">Building</option>
         <option value="Flooring">Floor fitting</option>
     </select>
     <br> <br>
     <input type="text" placeholder="Email Address" value="" name="email" />
     <br> <br>
     <input type="submit" value="Submit">
</form>

PHP

<?php

if(isset($_POST['email'])) {
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "email@here.co.uk";
    $email_subject = "CONTACT FORM APPLICATION";

    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['name']) ||
       !isset($_POST['email']) ||
       !isset($_POST['property']) ||
       !isset($_POST['work']))
        $name = $_POST['name']; // required
        $email = $_POST['email']; // required
        $property = $_POST['property']; // required
        $work = $_POST['work']; // required

    $email_message = "Form details below.\n\n";

    function clean_string($string) {
        $bad = array("content-type","bcc:","to:","cc:","href");
        return str_replace($bad,"",$string);
    }

    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "email: ".clean_string($email)."\n";
    $email_message .= "property: ".clean_string($property)."\n";
    $email_message .= "work: ".clean_string($work)."\n";

    // create email headers
    $headers = 'From: '.$email_from."\r\n".
               'Reply-To: '.$email_from."\r\n" .
               'X-Mailer: PHP/' . phpversion();
    @mail($email_to, $email_subject, $email_message, $headers);
?>

<!-- include your own success html here -->
<center>
    <br><br><br>
Thank you for your enquiry, we will be in touch shortly<br><br> <img src="_include/img/smile.png"><br><br>You may now close you browser or go back to our home page by clicking <a href="index.html">here</a>
</center>

<?php  } ?>

我究竟做错了什么? 任何人都可以发布解决方案以便我可以看到错误吗?

<form action="contact.php">

默认值为 GET,因此您需要:

<form action="contact.php" method="post"> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM