簡體   English   中英

Ajax / PHP聯系表格問題

[英]Ajax/PHP contact form issue

我正在使用以下字段為我的項目構建一個ajax / php聯系表單:

名稱(必填),電子郵件(必填),主題(不需要)和網站(不需要)

現在一切正常,唯一的問題是,如果用戶未在“ 主題”和/或“ 網站”字段中輸入任何內容,我收到的電子郵件將顯示以下兩個字段:

主題:(顯示為空白)

網站:(顯示為空白)

如果用戶沒有輸入任何內容,是否可能根本不顯示這兩個字段,所以在我收到的電子郵件中我只會得到:

名稱:[用戶名]

電子郵件:[用戶電子郵件地址]

我只是發布PHP代碼,因為我認為這僅與PHP有關,與Ajax腳本無關:

<?php

$errorMSG = "";

// NAME
if (empty($_POST["name"])) {
    $errorMSG = "Name is required ";
} else {
    $name = $_POST["name"];
}

// EMAIL
if (empty($_POST["email"])) {
    $errorMSG .= "Email is required ";
} else {
    $email = $_POST["email"];
}

// SUBJECT
$subject = $_POST["subject"];

// WEBSITE
$website = $_POST["website"];

// MESSAGE
if (empty($_POST["message"])) {
    $errorMSG .= "Message is required ";
} else {
    $message = $_POST["message"];
}


$EmailTo = "email@myemail.com";
$Subject = "New Message Received";

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Website: ";
$Body .= $website;
$Body .= "\n";
$Body .= "Subject: ";
$Body .= $subject;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";

// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);

// redirect to success page
if ($success && $errorMSG == ""){
   echo "success";
}else{
    if($errorMSG == ""){
        echo "Something went wrong :(";
    } else {
        echo $errorMSG;
    }
}

?>

謝謝你們!

您可以使用if語句檢查條件。 像這樣:

if (!empty($subject)) {
    $Body .= "Subject: ";
    $Body .= $subject;
    $Body .= "\n";
}

您不使用formData ,因此disabling該字段將無效。

如果要擺脫空變量,請按照以下條件構建數據

function submitForm() {

    var data = {
        name: $("#name").val(),
        email: $("#email").val()
    }

    if($("#subject").val() !== "") {
        data.subject = $("#subject").val()
    }

    if($("#website").val() !== "") {
        data.website = $("#website").val()
    }

    $.ajax({
        type: "POST",
        url: "php/form-process.php",
        data: data,
        success: function(text) {
            if (text == "success") {
                formSuccess();
            } else {
                formError();
                submitMSG(false, text);
            }
        }
    });
}

暫無
暫無

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

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