【问题标题】:HTML form Post to email address with PHPHTML表单使用PHP发布到电子邮件地址
【发布时间】:2021-04-25 22:46:03
【问题描述】:

您好,我正在建立一个网站并希望连接一个联系表格以向一个电子邮件地址发送电子邮件/消息,但我不太确定我做错了什么。

我很新,所以很抱歉,提前谢谢你..

这是我下面的代码!

PHP

    <?php

if(isset($_POST['submit'])){
  $name = $_POST['name'];
  $subject = $_POST['subject'];
  $mailFrom = $_POST['mail'];
  $message = $_POST['message'];

  $mailTo = 'tomasyoung0@gmail.com';
  $headers = 'From: '.$mailFrom;
  $txt = 'You have received an e-mail from '.$name.'. \n\n'.$message;

  mail($mailTo, $subject, $txt, $headers);
  header('Location: index.html?mailsend')



?>

HTML

<form class="contact-form" action="contactform.php" method="POST">
      
      <input class="form-input" name="name" type="text" placeholder="Name" >
      <input class="form-input" name="email"  type="email" placeholder="Email">
      <input class="form-input" name="subject"  type="text" placeholder="Subject" >
      <textarea class="form-input" placeholder="Message" cols="30" rows="10"></textarea>
      <button class="btn"type="submit" name="submit">
        <div class="button">
          <i class="fa fa-paper-plane"></i><span class="send-text"></span>
        </div>
      
      </button>
    </form>

【问题讨论】:

  • 有什么问题?
  • 我可以发现的一件事是您正在阅读$_POST['mail'],而您的输入名为email,而不是mail
  • 为什么 textarea 没有名字?

标签: php html css post frontend


【解决方案1】:

你的 html 代码中没有邮件和消息,更改

<input class="form-input" name="email"  type="email" placeholder="Email">

<input class="form-input" name="mail"  type="email" placeholder="Email">

<textarea class="form-input" placeholder="Message" cols="30" rows="10"></textarea>

<textarea class="form-input" name = "message" placeholder="Message" cols="30" rows="10"></textarea>

在 post 变量的 [] 内,您必须使用 '' 将输入或按钮的名称放在 [] 内

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2016-10-04
    相关资源
    最近更新 更多