为了账号安全,请及时绑定邮箱和手机立即绑定

PHP Contact Form Issue - 400错误,看不出故障

PHP Contact Form Issue - 400错误,看不出故障

PHP
烙印99 2022-12-23 12:56:50
您好,我对此还比较陌生,我正在尝试使用我找到的模板创建一个带有联系表的网站。我已将其设置为我在 PHP 中看到的最佳设置,但我不断收到 400 响应错误。我已经检查了模板代码并删除了明显的拼写错误,并尝试修复其他问题但无济于事。你能帮忙吗,因为我对 PHP 一点都不了解!HTML 形式:<form id="contact-form" action="assets/contact.php" method="post">    <div class="row">        <div class="col-md-6">            <div class="form-input mt-25">                <label>Name</label>                <div class="input-items default">                    <input name="name" id="name" type="text" placeholder="Name">                    <i class="lni lni-user"></i>                </div>            </div> <!-- form input -->        </div>        <div class="col-md-6">            <div class="form-input mt-25">                <label>Email</label>                <div class="input-items default">                    <input type="email" id="email" name="email" placeholder="Email">                    <i class="lni lni-envelope"></i>                </div>            </div> <!-- form input -->        </div>        <div class="col-md-12">            <div class="form-input mt-25">                <label>Message</label>                <div class="input-items default">                    <textarea name="message" id="message" placeholder="Message"></textarea>                    <i class="lni lni-pencil-alt"></i>                </div>            </div> <!-- form input -->        </div>        <p class="form-message"></p>        <div class="col-md-12">            <div class="form-input light-rounded-buttons mt-30">                <button class="main-btn light-rounded-two" type="submit" name="submit">Send Message</button>            </div> <!-- form input -->        </div>    </div> <!-- row --></form>谢谢。我认为这可能相对容易,我只是看不出错误发生在哪里。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

      if ( empty($name) OR empty($subject) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {

        // Set a 400 (bad request) response code and exit.

              http_response_code(400);

              echo "Please complete the form and try again.";

              exit;

        }

在此代码中,您检查了 PHP 服务器未收到的 ($subject)。所以这个变量是空的,这个条件成立,你每次都会收到 400 条错误消息。您可以将 $subject 更改为 $email(您已将其用作存储收到的电子邮件的变量)以更正您的程序。


    if ( empty($name) OR empty($email) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {

        // Set a 400 (bad request) response code and exit.

        http_response_code(400);

        echo "Please complete the form and try again.";

        exit;

    }

希望这能解决您的问题。


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信