php 联系表单未提交的问题

问题描述 投票:0回答:1

我正在使用 PHP 电子邮件表单为我的引导网站编辑联系表单。我认为一切都设置好了,但它始终给出 contact.php 的错误 500。我编辑了一些变量,因为这些变量取自具有不同调用的在线示例,所以我猜我在某个地方错过了一些东西,但无法弄清楚是什么!任何帮助将不胜感激。

html代码是:

<form action="forms/contact.php" method="post" role="form" class="php-email-form">
              <div class="row">
                <div class="col-md-6 form-group">
                  <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" required>
                </div>
                <div class="col-md-6 form-group mt-3 mt-md-0">
                  <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" required>
                </div>
              </div>
              <div class="form-group mt-3">
                <input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" required>
              </div>
              <div class="form-group mt-3">
                <textarea class="form-control" name="message" rows="5" placeholder="Message" required></textarea>
              </div>
              <div class="my-3">
                <div class="loading">Loading</div>
                <div class="error-message"></div>
                <div class="sent-message">Your message has been sent. Thank you!</div>
              </div>
              <div class="text-center"><button type="submit">Send Message</button></div>
            </form>

联系 php 在这里:

<?php

  $receiving_email_address = '[email protected]';

  if( file_exists($php_email_form = '../assets/vendor/php-email-form/php-email-form.php' )) {
    include( $php_email_form );
  } else {
    die( 'Unable to load the "PHP Email Form" Library!');
  }

  $contact = new PHP_Email_Form;
  $contact->ajax = true;
  
  $contact->to = $receiving_email_address;
  $contact->from_name = $_POST['name'];
  $contact->from_email = $_POST['email'];
  $contact->subject = $_POST['subject'];


  $contact->add_message( $_POST['name'], 'From');
  $contact->add_message( $_POST['email'], 'Email');
  $contact->add_message( $_POST['message'], 'Message', 10);

  echo $contact->send();

?>

php_email_form 在这里:

<?php 
if(isset($_POST['submit']))
{
    $to = '[email protected]';
    $from = $_POST['email'];
    $name = $_POST['name'];
    $subject = $_POST["subject"];

    $message = $name. "\n\n" . " wrote the following:" . "\n\n" . $_POST['message'];

    mail($to, $name, $subject, $message, $from);

    echo "Message Sent. Thank you " . $name . ", we will contact you shortly.";
}
?>
php bootstrap-5 contact-form
1个回答
0
投票

尝试下面的代码,这会起作用

html代码


   <form action="forms/contact.php" method="post" role="form" class="php-email-form">
          <div class="row">
            <div class="col-md-6 form-group">
              <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" required>
            </div>
            <div class="col-md-6 form-group mt-3 mt-md-0">
              <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" required>
            </div>
          </div>
          <div class="form-group mt-3">
            <input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" required>
          </div>
          <div class="form-group mt-3">
            <textarea class="form-control" name="message" rows="5" placeholder="Message" required></textarea>
          </div>
          <div class="my-3">
            <div class="loading">Loading</div>
            <div class="error-message"></div>
            <div class="sent-message">Your message has been sent. Thank you!</div>
          </div>
          <div class="text-center">
          <button name="submit" value="submit" type="submit">Send Message</button></div>
        </form>
在提交按钮中添加 name="submit" value="submit"。检查 php 中提交的帖子。

您的联系方式.php

   <form action="forms/contact.php" method="post" role="form" class="php-email-form">
          <div class="row">
            <div class="col-md-6 form-group">
              <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" required>
            </div>
            <div class="col-md-6 form-group mt-3 mt-md-0">
              <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" required>
            </div>
          </div>
          <div class="form-group mt-3">
            <input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" required>
          </div>
          <div class="form-group mt-3">
            <textarea class="form-control" name="message" rows="5" placeholder="Message" required></textarea>
          </div>
          <div class="my-3">
            <div class="loading">Loading</div>
            <div class="error-message"></div>
            <div class="sent-message">Your message has been sent. Thank you!</div>
          </div>
          <div class="text-center">
          <button name="submit" value="submit" type="submit">Send Message</button></div>
        </form>

您现有的联系人 php 将无法工作,因为它基于一个从未定义的类。您已经定义了两个不同的代码在一个文件中一起工作。你必须使用任何一个。我在联系PHP中使用了你的php_email_form,它使用简单的PHP邮件功能。

© www.soinside.com 2019 - 2024. All rights reserved.