我是这些平台的新手,我已经有了 HTML 和 PHP 的代码,但是,当从已经上传到服务器的页面发送消息时,我在 PHP 中输入的电子邮件没有到达,我想知道代码的哪一部分让我缺乏。
HTML 代码:
<form action="contact_me" method="post" name="sentMessage" id="contactForm" >
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="name" class="form-control" placeholder="Nombre" required="required">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="email" id="email" class="form-control" placeholder="Correo" required="required">
<p class="help-block text-danger"></p>
</div>
</div>
</div>
<div class="form-group">
<textarea name="message" id="message" class="form-control" rows="4" placeholder="Mensaje" required></textarea>
<p class="help-block text-danger"></p>
</div>
<div id="success"></div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
PHP代码:
<?php
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
$to = '[email protected]'; /
$email_subject = "Website Contact Form: $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nMessage:\n$message";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
谢谢。
你错过了几件事:
1. 在 HTML
你应该知道他们使用的标签
$_POST, $_GET, $_REQUEST
和其他亲戚是name
HTML元素标签。这意味着如果您提交表单然后执行此操作$nombre=$_POST['name'];
,PHP 会在表单数据中搜索带有name='name'
. 它不会找到它,因为您id
在 HTML 元素中使用了标签。您可以使用这两个标签,也可以根据需要将标签更改
id
为name
。但是name
在这种情况下你不能错过。例如:
或者,如果您想保留标签
id
:2. 在 PHP 中
只需应用 PHP 手册中教授的实践,当它解释功能时
mail
:当你发送邮件时,$headers 在哪里?此外,在表单中,您应该在每个字段中放置一个带有它收集的 php 变量的值,以便在按下提交按钮时发送它,例如:
希望这可以帮到你。