簡體   English   中英

使用PHP將表單數據發送到電子郵件

[英]Sending form data to E-mail with PHP

我試圖將表單數據發送到我的電子郵件,但沒有成功。 我希望當用戶單擊“提交”按鈕(並在驗證之后)時,數據字段將發送到我的電子郵件中,並且用戶看到一條消息“謝謝您與我們聯系”,而不是表單字段。 我對PHP非常陌生,希望你們中的一員能幫助我。

這是我的HTML表單:

    <form id="contactForm" method="post" action="contact.php" onsubmit="return validateForm()">
            <input type="text" name="name" id="name" placeholder="Full Name">

            <input type="email" name="email" id="email" placeholder="E-mail Address">

            <input type="text" name="phone" id="phone" placeholder="Phone Number">

            <input type="text" name="company" id="company" placeholder="Company">

            <textarea name="message" id="message" placeholder="Write Your Message Here..."></textarea>

            <input type="submit" value="SEND" id="submitForm">
</form>

這是我的PHP代碼:

<?php

if($_POST["submit"]) {
    $recipient="myEmail@gmail.com";
    $subject="Message from Website";
    $sender=$_POST["name"];
    $senderEmail=$_POST["email"];
    $senderPhone=$_POST["phone"];
    $senderCompany=$_POST["company"];
    $message=$_POST["message"];

    $mailBody="Name: $sender\nEmail: $senderEmail\nPhone: $senderPhone\nCompany: $senderCompany\n\n$message";

    mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>");

$thankYou="<p>Thank you! Your message has been sent.</p>";
}

?>

我也有這種形式的JS驗證功能,稱為validateForm(),可以正常工作。 我是否需要在托管服務器上定義一些內容才能使該PHP工作?

將以下行添加到腳本頂部

error_reporting(E_ALL);
ini_set("display_errors", "On");

如果未使用郵件正確配置服務器,則會看到錯誤。 最佳實踐是使用PHPMailer。 這樣您就可以使用sendmail或任何SMTP服務器

您是否嘗試過使用類似PHPMailer的工具?

https://github.com/PHPMailer/PHPMailer/

它是一個類,它將使用適當的標題發送電子郵件,並且易於使用和調試。

您還會發現,由於它具有適當的標題,因此垃圾郵件過濾器不會阻止其到達正確的目的地。

希望能幫助到你。

用這個

<input type="submit" value="SEND" id="submit">

更新:

它是輸入按鈕的name="xx"屬性,用於為$ _POST或$ _GET數組中傳遞的值賦予變量名稱

因此,您需要像這樣在按鈕html標記中添加一個name="submit"

<input type="submit" value="SEND" name="submit">

現在,此PHP語句將起作用,因為它將在$ _POST數組中看到一個名為“ submit”的命名變量。

if ( $_POST['submit'] )

暫無
暫無

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

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