簡體   English   中英

使用php將表單發送到我的電子郵件。提交表單時出現405不允許的問題

[英]Using php to send form to my email..Having an issue with 405 Not Allowed when form is submitted

從我創建的表單獲取數據並將其通過php傳遞到我的電子郵件時遇到問題。 這是格式為http://kapena.github.io/pp_web/#contact-pp的鏈接

這是確切的問題。當我單擊表單按鈕上的提交時,我得到此錯誤消息。 錯誤信息

我目前在gh頁上托管此版本

我對此進行了一些研究,發現了錯誤405的補丁,但我不知道如何在我的項目中實現此解決方案。 我只是一個初學者,需要一些指導。這是我找到的解決方法https://gist.github.com/baskaran-md/e46cc25ccfac83f153bb#file-nginx-conf

如何在我的網站中正確實施此解決方案?
這是我的php代碼,因此您可以檢查該代碼以查看是否存在並發出導致該問題的多數民眾贊成。

任何幫助將不勝感激..嘗試在新的一年推出b4 :)

<?php
if($_POST["submit"]) {
$recipient = "brentw.white@gmail.com"; //my email
$subject = 'Email message from Point Plumbing';
$name = $_POST ["yourName"];
$email = $_POST["yourEmail"];
$phone = $_POST["yourPhone"];
$location = $_POST["yourLocate"];
$message = $_POST["message-me"];

$mailBody="Name: $name\nEmail: $email\n\n$message";
$mail($recipient, $subject, $mailBody, "From: $name <$email>");
$thankYou="<p>Thank you! We will be in contact with you shortly.</p>";
}
?>

我的HTML ..我覺得它與method='post'可能是問題所在嗎?

<form action="submit_form.php" method="post" id="spaceing" data-abide>
        <div class="form-bg">
            <div class="row">
                <div id="name" class="large-6 medium-6 small-12 columns">
                    <label> <h5>Name</h5>
                        <input type="text" name="yourName" placeholder="What is you're name?"></input>
                    </label>
                </div>

                <div id="email" class="large-6 medium-6 small-12 columns">
                    <label><h5>Email</h5>
                        <input type="email" name="yourEmail" placeholder="Please enter in you're email."required></input>
                    </label>
                    <small class="error">An email Address is required.</small>
                </div>
            </div>

                <div class="row">
                    <div id="phone"class="large-6 medium-6 small-12 columns">
                        <label><h5>Phone</h5>
                            <input type="text" name="yourPhone" placeholder="Please enter you're phone number."></input>
                        </label>
                    </div>

                    <div id="location" class="large-6 medium-6 small-12 columns">
                        <label><h5>Location</h5>
                            <input type="text" name="yourLocate" placeholder="Where on Oahu are you currently living?"></input>
                        </label>
                    </div>
                </div>

                <div class="row">
                    <div id="message-area" class="large-12 medium-12 small-12 columns">
                        <label><h5>Message</h5>
                            <textarea id="message" name="yourMessage" placeholder="Please tell us about you're plumbing issues."></textarea>
                        </label>
                    </div>
                </div>

            <div class="row">
                <div id="submit" class="large-3 medium-3 small-3 columns">
                    <button type="submit-me">Submit</button>
                </div>
            </div>
        </div>
    </form>

看起來http://php.net/manual/en/function.mail.php

$mail($recipient, $subject, $mailBody, "From: $name <$email>");

$ mail不是變量就是函數

mail($recipient, $subject, $mailBody, "From: $name <$email>");

我修改了您的代碼,發現很多錯誤。正確的代碼如下:-在您的代碼上發現以下錯誤1.使用if(isset($ _ POST [“ submit”])){代替if($ _ POST [“ submit”]] } {2.您為textarea使用了錯誤的變量名。 您應該使用$ message = $ _POST [“ yourMessage”]; 而不是$ message = $ _POST [“ message-me”]; 4.另一個錯誤是您的表單操作位於Submit_form.php頁面,但我發現您的郵件代碼位於頁面頂部。 如果您想提交到另一個頁面,則使用php代碼來Submit_form.php頁面。 5.代碼的主要和重要錯誤我發現您在發送郵件的地方使用了Gmail電子郵件。但是如果您使用其他域電子郵件,則應使用brentw.white@kapena.github.io之類的域電子郵件由於可疑,您的郵件進入了垃圾郵件,我認為這對您有幫助,我在這里使用了您的鏈接: -http : //smartzonewebservices.com/mtg/del.php

<?php
if(isset($_POST["submit"])) {
$recipient = "brentw.white@gmail.com"; //my email
echo $subject = 'Email message from Point Plumbing';
echo $name = $_POST ["yourName"];
echo $email = $_POST["yourEmail"];
echo $phone = $_POST["yourPhone"];
echo $location = $_POST["yourLocate"];
echo  $message = $_POST["yourMessage"];

 $mailBody="Name: $name\nEmail: $email\n\n$message"; 

 mail($recipient, $subject, $mailBody, "From: $name <$email>");

echo $thankYou="<p>Thank you! We will be in contact with you shortly.</p>";

}
?>
<form action="" method="post" id="spaceing" data-abide>
        <div class="form-bg">
            <div class="row">
                <div id="name" class="large-6 medium-6 small-12 columns">
                    <label> <h5>Name</h5>
                        <input type="text" name="yourName" placeholder="What is you're name?"></input>
                    </label>
                </div>

                <div id="email" class="large-6 medium-6 small-12 columns">
                    <label><h5>Email</h5>
                        <input type="email" name="yourEmail" placeholder="Please enter in you're email."required></input>
                    </label>
                    <small class="error">An email Address is required.</small>
                </div>
            </div>

                <div class="row">
                    <div id="phone"class="large-6 medium-6 small-12 columns">
                        <label><h5>Phone</h5>
                            <input type="text" name="yourPhone" placeholder="Please enter you're phone number."></input>
                        </label>
                    </div>

                    <div id="location" class="large-6 medium-6 small-12 columns">
                        <label><h5>Location</h5>
                            <input type="text" name="yourLocate" placeholder="Where on Oahu are you currently living?"></input>
                        </label>
                    </div>
                </div>

                <div class="row">
                    <div id="message-area" class="large-12 medium-12 small-12 columns">
                        <label><h5>Message</h5>
                            <textarea id="message" name="yourMessage" placeholder="Please tell us about you're plumbing issues."></textarea>
                        </label>
                    </div>
                </div>

            <div class="row">
                <div id="submit" class="large-3 medium-3 small-3 columns">
                    <button name="submit" type="submit">Submit</button>
                </div>
            </div>
        </div>
    </form>

我之所以這么想是因為您在github服務器上開發,並且他不允許POST更改您的代碼HTML:

<form action="submit_form.php" method="get" id="spaceing" data-abide>

和PHP將$ _POST更改為$ _GET,但是長度有問題,因為所有數據都在URL中發送。

如果要將公共頁面發送到普通服務器,請返回POST方法

暫無
暫無

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

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