簡體   English   中英

PHP提交聯系表單錯誤后發送電子郵件POST http://www.if.com/mail/mail.php 404(未找到)-jquery-3.1.1.min.js:4

[英]PHP send email after submitting contact form error POST http://www.if.com/mail/mail.php 404 (Not Found) - jquery-3.1.1.min.js:4

我正在嘗試使用PHP在提交時使用聯系表單發送包含數據的電子郵件,但出現此錯誤> POST http://www.if.com/mail/mail.php 404(未找到)... jquery- 3.1.1.min.js:4

在我的contact.html中,我有聯系表的代碼。

 <div class="container"> <div class="row justify-content-between"> <div class="col-md-6 col-12"> <div class="boxed boxed--border"> <form class="form-email row mx-0" action="contact.php" method="POST" data-success="Thanks for your enquiry, we'll be in touch shortly." data-error="Please fill in all fields correctly."> <div class="col-md-6 col-12"> <label>Your name</label> <input type="text" name="name" class="validate-required"> </div> <div class="col-md-6 col-12"> <label>Email address</label> <input type="email" name="email" class="validate-required validate-email"> </div> <div class="col-md-6 col-12"> <label>Company</label> <input type="text" name="company" class="validate-required"> </div> <div class="col-md-6 col-12"> <label>Phone number</label> <input type="text" name="phone" class="validate-required"> </div> <div class="col-md-6 col-12"> <div class="input-select"> <select name="function"> <option selected="" value="Default">Function</option> <option value="">CEO</option> <option value="">Director</option> <option value="">Commercial</option> <option value="">Engineer</option> <option value="">Project manager</option> <option value="">HR Manager</option> <option value="">Other</option> </select> </div> </div> <div class="col-md-6 col-12"> <div class="input-select"> <select name="country"> <option selected="" value="Default">Country</option> <option value="">Austria</option> <option value="">Slovenia</option> <option value="">Romania</option> </select> </div> </div> <div class="col-md-12"> <div class="input-checkbox"> <input id="check-test" type="checkbox" name="agree" /> <label for="check-test"></label> </div> <span>I have read and agree to the <a href="#">terms and conditions</a></span> </div> <div class="col-md-5 col-lg-4 col-6"> <button type="submit" name="submit" class="btn btn--primary type--uppercase">Send Enquiry</button> </div> </form> </div> </div> </div> </div> 

在我的contact.php中,我有此代碼

    <?php
// let's do the sending

if (isset($_POST['submit'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $to = 'example@gmail.com';
    $subject = "Contact form";
    $body = '<html>
                <body>
                    <h2>Contact</h2>
                    <hr>
                    <p>Name: ' .$name. '</p>
                    <p>Email: ' .$email. '</p>
                    <p>Phone: ' .$phone. '</p>
                    <p>Company: ' .$company. '</p>
                    <p>Function: ' .$function. '</p>
                    <p>Country: ' .$country. '</p>
                </body> 
             </html>';
    //headers
    $headers = "From: ".$name." <".$email.">\r\n";
    $headers = "Reply-To: ".$email."\r\n";
    $headers = "MIME-VERSION: 1.8\r\n";
    $headers = "Content-type: text/html; charset-utf-8";

    //send
    $send = mail($to, $subject, $body, $headers);
    if($send) {
        echo '<br>';
        echo 'Thanks for contacting us. We will be with you shortly.';
    }
    else{
        echo 'error';
    }}

當我將所有代碼添加到一個.php文件中時,我遇到相同的錯誤。 我不知道錯誤在哪里。 請幫助我...另外,我嘗試使用Java腳本,並且存在相同的錯誤。

 $(function () { $('#contact-form').on('submit', function (e) { if (!e.isDefaultPrevented()) { var url = "contact.php"; $.ajax({ type: "POST", url: url, data: $(this).serialize(), success: function (data) { var messageAlert = 'alert-' + data.type; var messageText = data.message; var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>'; if (messageAlert && messageText) { $('#contact-form').find('.messages').html(alertBox); $('#contact-form')[0].reset(); } } }); return false; } }) }); 

像這樣添加表單ID。...我想您錯過了。

<form class="form-email row mx-0" action="contact.php" id="contact-form" method="POST" data-success="Thanks for your enquiry, we'll be in touch shortly." data-error="Please fill in all fields correctly.">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script>
$(function () {

    $('#contact-form').on('submit', function (e) {
        if (!e.isDefaultPrevented()) {
            var url = "contact.php";

            $.ajax({
                type: "POST",
                url: url,
                data: $(this).serialize(),
                success: function (data) {
                    var messageAlert = 'alert-' + data.type;
                    var messageText = data.message;

                    var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>';
                    if (messageAlert && messageText) {
                        $('#contact-form').find('.messages').html(alertBox);
                        $('#contact-form')[0].reset();
                    }
                }
            });
            return false;
        }
    })
});
</script>

//Try this :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM