2

我完全迷失在这里。我想在不离开我的页面的情况下使用 PHP 发送电子邮件。但我不知道如何将数据获取到 PHP 文件以通过电子邮件发送。当我真的到达那里时,我会迷路的。所以任何关于 PHP 文件应该是什么样子的帮助也会很棒。这是表格。

<table id="dialog">
        <tr><td><input type="text" id="name" name="name" placeholder="Your Name" size="20" class="tbow" /></td></tr>
        <tr><td><input type="text" id="email" name="email" placeholder="Your Email" size="20" class="tbow" /></td></tr>
        <tr><td><input type="text" id="number" name="number" placeholder="Your Phone Number" size="20" class="tbow" /></td></tr>
        <tr><td><textarea id="message" name="message" rows="5" cols="25" class="tbow" placeholder="Your Message"></textarea></td></tr>
        <tr><td><input type="button" value="Send!" onclick="senem();" id="sender" /></td></tr>
</table>

我试过这个......

function senem(){
        var name = document.getElementById("name").value;
        var email = document.getElementById("email").value;
        var number = document.getElementById("number").value;
        var message = document.getElementById("message").value;
        $.ajax({
            type: "POST",
            url: "mmaa.php",
            data: "name=" + name + "&email=" + email + "&number=" + number = "&message=" + message,
            success: alert("It works!!!");
        });
 }
4

2 回答 2

5

不打算作为复制和粘贴工作,但应该为您提供自己编写的构建块:

你的javascript函数;

function senem() {
    jQuery.ajax({
        type: "POST",
        url: "http://location/of/script.php",
        data: { var1: "foo", var2: "bar" },
    });
}

并在php中;

<?php
    $var1 = $_POST['var1'];
    $var2 = $_POST['var2']; //do something interesting with these

    $to = "john@example.com";
    $subject = "Wooo Email!";
    $message = "Sorry John, you're fired.";

    mail($to, $subject, $message, "From: system@yourdomain.com\r\n");
?>

var1 和 var2 的值您可能希望使用 jQuery 分配客户端(例如 $("#name").val(); ),并且您还需要在 Apache 旁边安装和配置 SMTP 服务器(使用 Exim 和找一个友好的极客来帮助你)。

PS:\r\n 是因为 SMTP 与 HTTP 共享一些语法,这并不重要,但如果没有它们,mail 命令可能无法工作。

于 2012-04-22T01:03:41.377 回答
1

我将从按钮中删除 onlick 事件并以不显眼的方式进行

<input type="button" value="Send!" id="sender" />  

脚本

$(function(){

 $("#sender").click(function(){
    $.post("yourserver.php", 
                          { name: $("#name").val(),
                            email:$("#email").val(),
                            number : $("#number").val(), 
                            message=$("#message").val()
                          },
                         function(result){
                            //Show the result from server page to the user. 
                            alert(result)
                         });    
  });
});

让您的 php 页面接受此值,然后在正确验证后发送电子邮件。您可以回复一些消息(“例如:已发送电子邮件”),这些消息将在result变量中可用。

确保您已将 jQuery 库加载到您的页面。

阅读此页面以更好地了解 jQuery post 的工作原理http://api.jquery.com/jQuery.post/

于 2012-04-22T01:06:08.643 回答