PHP表单发送电子邮件,但没有输入的文本

时间:2019-02-14 21:15:13

标签: php html css email

我有一个表格,希望将填写好的表格发送到我的电子邮件地址。 我的代码无法正常工作(我对PHP没有太多经验)。 所以-我收到一封电子邮件,但没有输入表格的文本。 我的代码中缺少什么或有什么问题?

<!--Contact-->
<section id="contact" class="get-in-touch">
  <h1 class="title">Contact <span>us!</span></h1>
  <p class="contact-p text-center">Lorem Ipsum.</p>
  <form class="contact-form row" method="GET" action="contact_me.php">
    <div class="form-field col x-50">
      <input id="name" class="input-text js-input" type="text" required>
      <label class="label" for="name">Name</label>
    </div>
    <div class="form-field col x-50">
      <input id="email" class="input-text js-input" type="email" required>
      <label class="label" for="email">E-Mail</label>
    </div>
    <div class="form-field col x-100">
      <input id="message" class="input-text js-input" type="text" required>
      <label class="label" for="message">Message</label>
    </div>
    <div class="form-field col x-100 align-center">
      <input class="submit-btn" type="submit" value="Send">
    </div>
  </form>
</section>

    <?php
$name = $_GET['name'];
$email_address = $GET['email'];
$message = $GET['message'];

// Create the email and send the message
$to = 'user@gmail.com'; //This is where the form will send a message to.
$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";
$headers = "From: noreply@yourdomain.com\n"; // This is the email address the generated message will be from.
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers);          
?>


因此,我希望收到带有键入的名称,电子邮件和消息的电子邮件,但是我只得到$ email_body的文本,而没有输入用户的文本。它只是空白。

输出看起来像这样: Output
您已经从您的网站联系表中收到了一条新消息。

以下是详细信息:

名称:

电子邮件:

消息:

2 个答案:

答案 0 :(得分:1)

您的<input />元素需要name=""属性才能在$_GET$_POST中可用。

答案 1 :(得分:-5)

u必须使用mailto函数,然后设置一个本地主机并设置一个变量以发送电子邮件和管理员名称,您可以观看此https://www.youtube.com/watch?v=No8gaqsFdMw