我遇到了PHP的问题,我希望你能帮助我。
从本质上讲,客户端需要一个表单和一个单独的提交按钮,但他希望PHP将信息发送到两个地方:1。)将“评论”消息直接发送到他的电子邮件收件箱,但也是2 。)将电子邮件地址和隐藏变量发送到Constant Contact(这是发布他的新闻简报的公司)。
以下是HTML表单:
<form action="SendToConstantContact.php" name="myform" method="post">
Your email*:<br/>
<input type="text" name="ea" size="39" value="" style="font-size:10pt;"><br/>
Your message (optional):<br/>
<textarea name="comments" cols="30" rows="3" style="font-size:10pt;"></textarea><br/>
<input type="hidden" name="llr" value="z4u4kndab">
<input type="hidden" name="m" value="1103180583929">
<input type="hidden" name="p" value="oi">
<input type="submit" value="Submit" />
</form>
到目前为止这是PHP。我有第一个目标 - 它发布到这个PHP,PHP发送一个电子邮件直接到收件箱中的消息内容。我可以添加哪些PHP代码以将变量发送到Constant Contact?
<?php
$emailSubject = 'Customer Has a Question!';
$webMaster = 'barry@page3design.com';
$ea = $_POST['ea'];
$comments = $_POST ['comments'];
$llr = $_POST ['llr'];
$m = $_POST ['m'];
$p = $_POST ['p'];
$body = <<<EOD
<br><hr><br>
Email: $ea <br>
Comments: $comments <br>
<br>
And below are the four variables sent to Constant Contact:<br>
Email: $ea <br>
LLR: $llr <br>
M: $m <br>
P: $p <br>
<br>
These comments were sent from the test.html page of the JW Secure site. <br>
The visitor has checked the box that would send their information to Constant Contact.<br>
EOD;
$headers = "From: $ea\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
$theResults = <<<EOD
<META http-equiv="refresh" content="0;URL=http://www.jwsecure.com/contact/thank-you/">
EOD;
echo "$theResults";
?>
我浏览了这个网站和其他网站,但我没有找到任何只在PHP文件中发送信息的例子。看起来它会比较简单,但我很难过。我尝试的一切都会导致错误。如果它是直接发布到ConstantContact的HTML表单,则操作将是:“action =”http://visitor.r20.constantcontact.com/d.jsp“...但我不是PHP人员(显然) ,所以非常感谢语法帮助!
提前谢谢你, 百里
答案 0 :(得分:0)
您可以使用cURL或Jquery来完成它。
CURL是一种可以从代码中定位URL以从中获取html响应的方式..cURL表示客户端URL,允许您连接其他URL并根据需要使用响应。
检查此链接: -
答案 1 :(得分:0)
如果您想使用jquery
,则需要更改以下基本结构。您可以通过ajax提交一个,然后在成功时提交另一个表单。我只包含了一个如何将表单数据处理为ajax调用的示例。如果不想手动编码所有变量,可以使用jquery插件,如ajaxform
<form id='myform' action="SendToConstantContact.php" name="myform" method="post">
Your email*:<br/>
<input type="text" name="ea" size="39" value="" style="font-size:10pt;"><br/>
Your message (optional):<br/>
<textarea name="comments" cols="30" rows="3" style="font-size:10pt;"></textarea><br/>
<input type="hidden" name="llr" value="z4u4kndab">
<input type="hidden" name="m" value="1103180583929">
<input type="hidden" name="p" value="oi">
<input type="button" id='submit' value="Submit" />
</form>
<script type='text/javascript'>
$(document).ready(function (f) {
$('#submit').click(function (e) {
e.preventDefault();
var data = {"llr" : $("input[name=llr]").val()….};
var options = {
data: data,
type: "post",
url: "http://visitor.r20.constantcontact.com/d.jsp",
success: function (e) {
$('#myform').submit();
}
};
$.ajax(options);
};
}
</script>
答案 2 :(得分:0)
只需使用curl通过PHP发布数据:
小例子,未经测试...请参阅PHP文档了解更多curl_setopt
$ch = curl_init();
$path = "http://visitor.r20.constantcontact.com/d.jsp";
curl_setopt( $ch, CURLOPT_URL, $path );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $postarray );
curl_exec ( $ch );
curl_close ( $ch );
unset( $ch );
我的经验:首先尝试更少的选项,然后添加更多选项,不要使用数百万个设置启动并期望它能够正常工作:)
答案 3 :(得分:0)
要将信息传递给ConstantContact,您需要使用PHP curl extension AJAX,因为它在不同的域上不起作用。
以下内容应该让你开始
$data = array('ea' => $_POST['ea'], 'llr' => $_POST['llr'], ...);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://visitor.r20.constantcontact.com/d.jsp");
curl_setopt($ch, CULROPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Stops the result from being sent to the browser
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch); //$result now contains the response
curl_close($ch);
答案 4 :(得分:-1)
<?php
if($_POST['Send']!='')
{
$subject = "subject";
$message = "content";
$from = "enter from ";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$to="test@gmail.com";
$from="User";
$headers .= "From:" . $from;
$response=mail($to,$subject,$message,$headers);
if($response)
{
$msg="show msg.";
}
}
?>
希望它会帮助你