我在使用网站时遇到联系表单问题。我运行发送邮件代码的 php
文件不起作用。当用户单击提交按钮时,它会在屏幕上显示代码并且不会发送电子邮件。
HTML
<header class="body1">
</header>
<section class="body1">
</section>
<footer class="body1">
</footer>
<form method="post" action="index.php">
<h2>Envie uma mensagem ou faça um pedido</h2>
<label>Nome:</label>
<input name="name" placeholder="Digite seu nome...">
<label>Email:</label>
<input name="email" type="email" placeholder="Digite seu email...">
<label>Mensagem:</label>
<textarea name="message" placeholder="Digite sua mensagem..."></textarea>
<input id="submit" name="submit" type="submit" value="submit">
</form>
PHP
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'De: Babylon Store';
$to = 'my@email.com';
$subject = 'Novo pedido';
$body = "De: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Sua mensagem foi enviada!</p>';
} else {
echo '<p>Aconteceu algo errado. Por favor tente novamente!</p>';
}
}
?>
最佳答案
我自己尝试了这些代码,但它不起作用。
从未使用过:if(mail),尝试使用mail($to, $subject, $body, $from)
尽管如此,您当前使用的联系表一点也不安全。许多机器人可以自动提交表单并向您发送大量垃圾邮件。防止这些的方法是使用安全验证码验证,完全阻止这些机器人提交您的表单。如果您对安全表格感兴趣,请与我联系,因为我会为您写一个免费 :)
我知道有一种方法可以使用 if(mail) 语句来处理邮件,但是有许多脚本(例如 PHPMailer)可以轻松地为您完成这项工作。如果您在 Web 服务器上处理此联系表单,那么它很可能是在他们的托管配置错误中。如果您使用的是本地主机(例如:WAMP),请尝试这样做以确保它是否可以在您自己设置的服务器上运行,如果可以,则很可能是您当前运行的网络服务器出现故障。
PS: I'm a PHP Script Developer, developed more than 25 scripts.
关于php - 创建联系表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149738/