我是网页设计的新手。我目前正在为一家公司建立一个新网站,但我的联系表格无法正常工作。我已经测试了很多次并使用了不同的 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.comn";
$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()
.从手册:
// 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.';
补遗:正如 @Fred -ii- 所指出的,"
mail()
应该提供给他们,即使托管包不可用。即使本身没有托管,您也可以拥有mail()
或其他SMTP
。