【问题标题】:Why is my php form data not being submited to my email [duplicate]为什么我的 php 表单数据没有提交到我的电子邮件 [重复]
【发布时间】:2021-02-09 07:25:21
【问题描述】:
                        <?php 
                        
                        if (isset ($_POST['contact-form'])) {
                            $name = trim($_POST['name']);
                            $email = trim($_POST['email']);
                            $msg = $_POST['message'];
                    
                    // add the recipient email to a variable
                        $to = "myemail@gmail.com";
                    //create a subject
                        $subject = "$name sent you a message about a qoute";
                    //construct the message
                        $message = "Name: $name\r\n";
                        $message .= "Email: $email\r\n";
                        $message .= "Message: $name\r\n$msg";
                        $message = wordwrap($message,72);
                      //heading and info  
                        $headers = "MIME-Version: 1.0\r\n";
                        $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
                        $headers .= "From: $name <$email>\r\n";
                        $headers .= "X-Priority: 1\r\n";
                        $headers .= "X-MSMail-Priority: High\r\n\r\n";
                    //send email
                        mail($to, $subject, $message, $headers);
                            
                        }
                    
                      ?>

以上代码是位于.php文件内的php代码,php文件中的html如下:

                        <form method="post" action="" id="estimate-form">
                      <div class="form-group">
                      <input type="text" class="form-control form control-sm" id="name" placeholder="Name">
                      <div class="form-group">
                      <input type="email" class="form-control form control-sm" id="email" placeholder="Email">
                    
                        <div class="form-group">
                            <textarea type="textarea" class="form-control form control-lg" id="message" placeholder="Message"></textarea>
                      </div>
                           </div>
                          </div>
                          </div>
                      <input type="submit" name="contact-form" value="submit" class="btn btn-outline-light btn-block" style="margin-top:-10px;">
                          </div>
                        </div>
                    </form>

我遇到的问题是,提交后我没有收到电子邮件,而且我不知道如何使它运作。我犯了错误还是遗漏了什么? 注意:我编辑了我的电子邮件,但在我的实际代码中 myemail = 我为保护隐私而遗漏的实际电子邮件地址! ****

【问题讨论】:

  • 没有任何输入被命名。您只是在设置他们的 ID。也设置他们的名字。
  • 配置您的系统以成功使用mail() 函数非常困难。我建议使用 PHPMailer 之类的工具通过 GMail 等受信任的 SMTP 服务器发送
  • 我添加了名称,但仍然没有任何功能。我将研究有关 php mailer 的建议。谢谢你的建议。

标签: php html css forms


【解决方案1】:

你有:

&lt;input type="text" class="form-control form control-sm" id="name" placeholder="Name"&gt;

它和您的其他输入字段需要设置name 属性:

<input name="name" type="text" class="form-control form control-sm" id="name" placeholder="Name">

<input name="email" type="text" class="form-control form control-sm" id="name" placeholder="Name">

<textarea name="message" type="textarea" class="form-control form control-lg" id="message" placeholder="Message"></textarea>

【讨论】:

  • 谢谢,我添加了名称属性,但还是不行。
  • 邮件发不出去吗?您是否通过一些调试检查它是否进入if?
猜你喜欢
  • 2017-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-01
  • 2014-01-08
  • 2013-09-16
  • 2021-09-22
  • 2016-09-25
相关资源
最近更新 更多