如果这非常荒谬,我从未使用过PHP。我正在努力让我的联系表格起作用。这是我的HTML:
<form method="post" action="contact-form.php">
<div class="input-third">
<label for="name">Name: <small>*</small></label>
<br>
<input class="input" type="text" name="name" placeholder="John Smith" />
</div>
<div class="input-third">
<label for="email">Email: <small>*</small></label>
<br>
<input class="input" type="text" name="email" placeholder="mail@example.com" />
</div>
<div class="input-third">
<label for="phone">Phone:</label>
<br>
<input class="input" type="text" name="phone" placeholder="Type Here" />
</div>
<br>
<br>
<label for="message">Message: <small>*</small></label> <br>
<textarea class="message" name="message" placeholder="Write a message to us"></textarea>
<br>
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<input class="submit" type="submit" value="Send" name="submit">
</form>
这是PHP:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$from = 'From: IPS Facilities Contact Form';
$to = 'noah.searle@gmail.com';
$subject = 'Enquiry';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message: $message\n";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
当我点击提交时,它会显示已发送的消息但我还没有收到任何消息!我确定这是愚蠢的,但我会很感激一些意见!
答案 0 :(得分:1)
认为这可能已在评论或其他答案中得到解答,但我认为我只是添加此内容供您参考,也适用于未来的读者。
如果您遇到错误500,则表示您的PHP代码中存在错误。您可以将错误报告设置为&#39; on&#39;在您的PHP中通过将以下内容添加到您的php文件的顶部:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
如果您添加,然后重新加载前端,您应该获得有关错误的更多详细信息,它可以帮助您解密问题并修复它。
答案 1 :(得分:0)
$ message = $ _POST ['message'] //你错过了;
答案 2 :(得分:0)
在$ message = $ _POST ['message']上缺少分号,并且您的邮件功能缺少针对变量的美元符号。
答案 3 :(得分:0)
你错过了 $ message = $ _POST ['message'] 中的分号 你错过了这里的$ sign if(mail(to,subject,message,from))
并确保您的php文件名为 contact-form.php