新网站联系表不起作用

New website contact form is not working

我是网页设计新手。我目前正在为一家公司建立一个新网站,但我的联系表无法正常工作。 我已经测试了很多次并使用了不同的 php,但我仍然没有收到任何电子邮件...与我合作的公司,他们拥有一个没有托管的域。我不确定这是否会有所不同。

这是我的 HTML 和 PHP。如果您发现任何问题,请告诉我!谢谢:)

HTML

<!-- Contact -->
                    <div class="col-md-6">
                        <div class="cform" id="contact-form">
                            <div id="sendmessage">
                                 <p>Your message has been sent. Thank you!</p>
                            </div>
                            <form action="contact/contact.php" method="post" role="form" class="contactForm">
                              <div class="form-group">
                                <label for="name">Name</label>
                                <input type="text" name="name" class="form-control" id="name" data-rule="maxlen:4" data-msg="Please enter at least 4 characters" />
                                <div class="validation"></div>
                              </div>
                              <div class="form-group">
                                <label for="email">Email Address</label>
                                <input type="email" class="form-control" name="email" id="email" data-rule="email" data-msg="Please enter a valid email" />
                                <div class="validation"></div>
                              </div>
                              <div class="form-group">
                                <label for="company">Company Name</label>
                                <input type="text" class="form-control" name="company" id="company" data-rule="maxlen:4" data-msg="Please enter your company name" />
                                <div class="validation"></div>
                              </div>
                              <div class="form-group">
                                <label for="phone">Phone Number</label>
                                <input type="tel" class="form-control" name="phone" id="phone" data-rule="maxlen:10" data-msg="Please enter your phone number" />
                                <div class="validation"></div>
                              </div>
                              <div class="form-group">
                                <label for="message">Message</label>
                                <textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="Please write something for us"></textarea>
                                <div class="validation"></div>
                              </div>
                              <div class="align-center">
                                <button type="submit" value="submit" id="send" class="btn btn-theme pull-left"><b>SEND MESSAGE</b></button>
                              </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </section>

PHP

<?php
 if($_POST['submit'])
 {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $company = $_POST['company'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
    $email_from = $name.'<'.$email.'>';

 $to="eewhyoh@gmail.com";
 $subject="True Label Contact Form";
 $body="      

         Name:
         $name     
         <br>
         Email:
         $email        
         <br>
         Company:
         $company
         <br>
         Phone Number:
         $phone:
         <br>
         Message:
         $message      

   ";
$headers = "From: noreply@yourdomain.com\n"; 
$headers .= "Reply-To: $email_address"; 
 }
?>

在您的表单中,不正确命名您的输入是很常见的。您没有名为 submit (无论如何我都能看到) 的输入,因此它不会通过 if($_POST['submit']):

<div class="align-center">
    <input type="submit" value="SEND MESSAGE" name="submit" id="send" class="btn btn-theme pull-left" />
</div>

另外,正如其他人所说,你没有mail()。来自 manual:

// This portion you are missing.
mail($to, $subject, $body, $headers);

要使用它,在所附代码的最底部,您可以执行类似以下操作:

// mail will return true if sends, false if fail
echo (mail($to, $subject, $body, $headers))? 'Sent!' : 'Error, not sent.';

Addendum: As noted by @Fred -ii-, "mail() should be made available to them, even if a hosting package isn't available. You can have mail() or other SMTP even if there is no hosting per se."