0

PHP で問題が発生しています。助けていただければ幸いです。

本質的に、クライアントは 1 つのフォームと 1 つの送信ボタンを必要としますが、PHP から 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>
&nbsp;<br>
And below are the four variables sent to Constant Contact:<br>
Email: $ea <br>
LLR: $llr <br>
M: $m <br>
P: $p <br>

&nbsp;<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" 、構文のヘルプは非常に高く評価されています!

前もってありがとう、バリー

4

5 に答える 5

0

を使用する場合に変更する必要がある基本的な構造を次に示しますjquery。ajax から 1 つを送信し、成功したらもう 1 つのフォームを送信できます。フォーム データが ajax 呼び出しに処理される方法の例を 1 つだけ含めました。すべての変数を手動でコーディングしたくない場合は、次のような 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>
于 2013-07-02T13:14:05.333 に答える
0

cURL または Jquery を使用して実現できます。

CURL は、コードから URL をターゲットにして HTML レスポンスを取得する方法です。cURL は、他の URL に接続して必要に応じてレスポンスを使用できるようにするクライアント URL を意味します。

このリンクを確認してください:-

CURL の操作

于 2013-07-02T13:10:11.157 に答える
0

ConstantContact に情報を取得するには、PHP の curl 拡張機能を使用する必要があります。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);
于 2013-07-02T13:20:11.240 に答える
-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.";
}
}
?>

それがあなたを助けることを願っています

于 2013-07-02T13:21:43.497 に答える