簡體   English   中英

如何在我的 JS 中調用 PHP mail() 函數?

[英]How do I call the PHP mail() function in my JS?

我有一個困境。 我為我正在構建的網站創建了此訂單請求頁面,其工作原理如下:

  1. 您選中/取消選中核心項目,並根據它的狀態(活動或非活動),它將真/假值應用於相應order.js的布爾值。 同樣,它會為其他項目和您的信息獲取所需的單位計數,並將它們應用於變量。
  2. 它將這些變量分組到數組中,現在, console.log()它們。

這就是問題所在……這是 order.js 文件的一個片段。

function compileInfo() {

    console.log("compileInfo active");

    var name = "Name: " + $("#name").val() + "\n";
    var email = "Email: " + $("#email").val() + "\n";
    var phone = "Phone: " + $("#phone").val() + "\n";
    var weddingDate = "Wedding Date: " + $("#date").val() + "\n";
    var comments = "Comments: " + $("#comments").val() + "\n";

    var base = "Base Experience: " + $("#base").hasClass("active") + "\n";
    var special = "Special Edition: " + $("#special").hasClass("active") + "\n";
    var teaser = "Teaser Trailer: " + $("#teaser").hasClass("active") + "\n";
    var raw = "Raw Footage: " + $("#raw").hasClass("active") + "\n";

    var standard = "Standard Shipping: " + $("#standard").hasClass("active") + "\n";
    var expedited = "Expedited Shipping: " + $("#expedited").hasClass("active") + "\n";

    var dvd = "Standard DVD: " + a + "\n";
    var br = "Standard Blu-Ray: " + b + "\n";
    var dvdSe = "Special DVD: " + x + "\n";
    var brSe = "Special Blu-Ray: " + y + "\n";

    var info = new Array();
        info[0] = name;
        info[1] = email;
        info[2] = phone;
        info[3] = weddingDate;
        info[4] = comments;

    var services = new Array();
        services[0] = base;
        services[1] = special;
        services[2] = teaser;
        services[3] = raw;

    var delivery = new Array();
        delivery[0] = standard;
        delivery[1] = expedited;

    var extras = new Array();
        extras[0] = dvd;
        extras[1] = br;
        extras[2] = dvdSe;
        extras[3] = brSe;

    var dataVar = info + "\n" + services + "\n" + delivery + "\n" + extras;
    var dataVarJSON = JSON.stringify(dataVar);

    console.log(dataVar);

    $.ajax({
        type: "POST",
        url: "order.php",
        data: {data : dataVarJSON},

        success: function() {
            console.log("SUCCESS");
        }
    });
}

function validate() {
    var name = $("#name").val();
    var email = $("#email").val();
    var weddingDate = $("#date").val();

    if (name === "" || email == "" || weddingDate == "") {
        alert("You must complete all required fields to send this request.");
    } else {
        console.log("working");
        compileInfo();
        return true;
    }

}

這是我收到的 PHP:

<?php
    header('content-type: application/json; charset=utf-8');
    header("access-control-allow-origin: *");

    $body = json_decode(stripslashes($_POST['data']));

    $to = "thekevinhaube@gmail.com";
    $subject = "Order Request";

    function sendInfo() {
        mail($to, $subject, $body);
    }
 ?>

現在,我遠非 PHP 專家。 事實上,這是我第一次遇到它。 我怎樣才能讓它發送。 這似乎POST就好,但不能發送到上市的電子郵件地址。 任何和所有的幫助表示贊賞! 同樣,這是我第一次使用 PHP,所以......

你需要給 sendInfo 一些參數:

function sendInfo($to, $subject, $body) {
  ...
}

並且不要在本地主機上嘗試 mail() ,請嘗試 - 如果可能 - 在線。

暫無
暫無

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

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