【问题标题】:send fields of form in email with php使用 php 在电子邮件中发送表单字段
【发布时间】:2021-04-25 05:04:18
【问题描述】:

我正在尝试获取 html 表单的所有字段,并在按下提交按钮时通过电子邮件发送它们。 但它不起作用,我不知道为什么。

当我测试发送按钮时,action.php 页面中没有显示任何内容,我不知道为什么。 我在表单标签中创建了 method="post" 和 action=action.php。

HTML 表单

<form action="action.php" method="POST">
   <div class="p pb-3"><strong>Feel free to contact me </strong></div>
     <div class="row mb-3">
       <div class="col">
        <div class="input-group"><span class="input-group-addon"><i class="fa fa-user-circle"></i></span>
        <input class="form-control" type="text" name="name" placeholder="Name" required="required"/>
         </div>
           </div>
            </div>
             <div class="row mb-3">
               <div class="col">
          <div class="input-group"><span class="input-group-addon"><i class="fa fa-file-text"></i></span>
     <input class="form-control" type="text" name="subject" placeholder="Subject" required="required"/>
          </div>
           </div>
            </div>
             <div class="row mb-3">
              <div class="col">
      <div class="input-group"><span class="input-group-addon"><i class="fa fa-envelope"></i></span>
      <input class="form-control" type="email" name="mail" placeholder="E-mail" required="required"/>
        </div>
         </div>
           </div>
             <div class="row mb-3">
               <div class="col">
                <div class="form-group">
 <textarea class="form-control" name="message" placeholder="Your Message" required="required"></textarea>
                 </div>
                  </div>
                    </div>
                      <div class="row">
                       <div class="col">
               <button class="btn btn-primary" type="submit" name="submit" value="Send">Send</button>
                        </div>
                      </div>
                    </form>

```.
PHP CODE
``` code
<?php
echo 'bonjour'
if(isset($_POST['submit'])){
    $name=$_POST['name'];
    $email=$_POST['email'];
    $subjectF=$_POST['subject'];
    $msg=$_POST['message'];

    $to='boussidan.raphael@gmail.com';
    $subject='Form Submission';
    $message="Name :".$name."\n"."Subject :".$subjectF."\n"."Wrote the following :"."\n\n".$msg;
    $headers="From: ".$email;

    if(mail($to, $subjectF, $message, $headers)) {
        echo "<h1>Sent Successfully! Thank you"." ".$name.", I will contact you shortly!</h1>";
        echo "Message :"." ".$message. , .$subjectF., .$email.
    }
    else{
        echo "<h1>Something went wrong!</h1>";
    }
}
?> 

【问题讨论】:

  • 你试过action="&lt;?php $_SERVER["PHP_SELF"];?&gt;"吗?
  • 你得到回声还是没有出现?
  • 你有一个错字。您的电子邮件输入名为 mail,但您正在尝试获取 $_POST['email']
  • @DavidAlves 是的,它有效

标签: php forms email


【解决方案1】:

如果您不在本地服务器上制作网站,php 邮件可能会被关闭,也可以尝试https://github.com/PHPMailer/PHPMailer 如果邮件不起作用,因为您的问题我不明白什么不起作用。另一件事是,如果您将 php 代码放入另一个文件中,而不是在您的 html 所在的文件中,则不必放置

if(isset($_POST['submit']))

因为如果您在另一个文件中执行此操作,则意味着您已经按下按钮以在该文件中执行操作

【讨论】:

  • if 子句仍然有用,因为 url 可以通过错误或不良行为从其他方式调用
猜你喜欢
  • 2014-05-22
  • 2013-03-01
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 2013-07-17
  • 1970-01-01
相关资源
最近更新 更多