Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何?将邮件发送到多个位置_Php_Forms - Fatal编程技术网

Php 如何?将邮件发送到多个位置

Php 如何?将邮件发送到多个位置,php,forms,Php,Forms,我有一个表单,我需要发布到多个脚本。我怎样才能用最简单的方法做到这一点 我知道可以用Javascript、Curl或Snoopy类来完成,但实际上哪种方法是最简单和最好的 其中一个脚本发送电子邮件,它是一个php文件,另一个托管在其他地方 需要收集两个脚本上的数据。最好的方法是首先将表单提交到本地脚本,然后使用CURL将接收到的(过滤后的)数据发布到远程脚本。那就观察一下反应吧 然后只需发送电子邮件,并在本地脚本中处理来自远程脚本的响应。这就是使用一个操作向多个主机提交表单的结果 我发布了通常的

我有一个表单,我需要发布到多个脚本。我怎样才能用最简单的方法做到这一点

我知道可以用Javascript、Curl或Snoopy类来完成,但实际上哪种方法是最简单和最好的

其中一个脚本发送电子邮件,它是一个php文件,另一个托管在其他地方


需要收集两个脚本上的数据。

最好的方法是首先将表单提交到本地脚本,然后使用CURL将接收到的(过滤后的)数据发布到远程脚本。那就观察一下反应吧


然后只需发送电子邮件,并在本地脚本中处理来自远程脚本的响应。

这就是使用一个操作向多个主机提交表单的结果

我发布了通常的邮件脚本,然后包含了使用Curl发布到第二个主机的代码

下面是实际的代码,使用了一些小的调整,比如不必使用“extract”

可在()找到:


最简单的方法是使用jQuery向每个脚本发送$.ajax(或$.post或$.get),从每个脚本中检索结果,并对结果进行处理

$(document).ready( function(){
    $('#mySubmitButton').click(function(){
        //Send data to the email script
        $.post( 'send-email.php', $('form').serialize(), function(data, textStatus) {
            //data is the result from the script
            alert(data);
        });

        //Send data to the other script
        $.post( 'my-other-script.php', $('form').serialize(), function(data, textStatus) {
            //data is the result from the script
            alert(data);
        });
    });
});
更新: serialize命令是正在发送的数据。看看jQuery序列化函数。它基本上只接受表单中的各种输入、选择、文本区域、复选框等,并将它们放入如下字符串中:

 RePost "http://www.SomeOtherDomain.com/SomeOtherScript.asp"
myNameInput=john&active=on&whateverSelected=3

它只是表单元素名称及其值的字符串。这就是通过ajax命令发送到外部脚本的内容


另一个注意事项是,在执行序列化时,确保所有表单元素都有一个name属性,而不仅仅是一个id。序列化不会注意它们的id。只有他们的名字。

我只需要用ASP。我想在一个域上的电子邮件处理脚本中发布一个表单,并通过单击一个按钮在另一个域上的MySQL数据库上记录该操作。这在许多其他情况下也可能有用

在HTML表单定义上不能有多个操作。因此,只需将其发送到一个位置,处理表单,然后将表单“重新发布”到另一个位置。您可以在任意长度的脚本“链”中执行此操作

首先将此ASP子例程添加到脚本中。如果您使用的是PHP或其他语言,您只需将这些代码翻译成您自己的语言,这个概念就行了

sub RePost( Destination )
    RePostString = "<HTML><BODY>" & vbCRLF
    if( (Trim(Destination) <> "") and (Request.ServerVariables("REQUEST_METHOD") = "POST") ) then
        RePostString = RePostString & "<FORM METHOD=POST NAME=""RePostForm"" ACTION=""" & Destination & """>" & vbCRLF
        for each Item in request.form
            if( not len(item) <= 0 ) Then
                RePostString = RePostString & "<INPUT TYPE=HIDDEN NAME=""" & item & """ VALUE=""" & Request.form( item ) & """>" & vbCRLF
            end if
        next
        RePostString = RePostString & "</FORM>" & vbCRLF & _
                       "<script language=""JavaScript"" type=""text/javascript""> window.onLoad = document.RePostForm.submit(); </script>"
    else
        RePostString = "<CENTER><H1><BR><BR>Sorry! Internal Scripting Error Encountered!</H1></CENTER>" & vbCRLF
    end if
    RePostString = RePostString & "</BODY></HTML>"
    Response.Write( RePostString )
end sub

如果需要,在所有脚本上重复链接过程,最后您可能希望重定向到原始域(表单来源)上的页面,或者做一些事情向用户显示成功消息。

我同意这一点,我会先发送到本地脚本,清理/etc。然后发送到远程。post脚本之一是否可以是https位置?我看不出您将值传递到脚本的位置。是连载吗?
 RePost "http://www.SomeOtherDomain.com/SomeOtherScript.asp"