新网站联系表不起作用
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."
我是网页设计新手。我目前正在为一家公司建立一个新网站,但我的联系表无法正常工作。 我已经测试了很多次并使用了不同的 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 havemail()
or otherSMTP
even if there is no hosting per se."