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

您好,我对此还比较陌生,我正在尝试使用我找到的模板创建一个带有联系表的网站。我已将其设置为我在 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>


谢谢。我认为这可能相对容易,我只是看不出错误发生在哪里。


烙印99
浏览 83回答 1
1回答

www说

&nbsp; &nbsp; &nbsp; if ( empty($name) OR empty($subject) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {&nbsp; &nbsp; &nbsp; &nbsp; // Set a 400 (bad request) response code and exit.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http_response_code(400);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo "Please complete the form and try again.";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;&nbsp; &nbsp; &nbsp; &nbsp; }在此代码中,您检查了 PHP 服务器未收到的 ($subject)。所以这个变量是空的,这个条件成立,你每次都会收到 400 条错误消息。您可以将 $subject 更改为 $email(您已将其用作存储收到的电子邮件的变量)以更正您的程序。&nbsp; &nbsp; if ( empty($name) OR empty($email) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {&nbsp; &nbsp; &nbsp; &nbsp; // Set a 400 (bad request) response code and exit.&nbsp; &nbsp; &nbsp; &nbsp; http_response_code(400);&nbsp; &nbsp; &nbsp; &nbsp; echo "Please complete the form and try again.";&nbsp; &nbsp; &nbsp; &nbsp; exit;&nbsp; &nbsp; }希望这能解决您的问题。
打开App,查看更多内容
随时随地看视频慕课网APP