0

フォームの詳細を外部 URL と電子メール ID に送信する方法を知りたいです。フォームの詳細を電子メール ID に送信するプログラミングの経験がありましたが、クライアントの 1 人が、フォームの詳細のコピーをhttp://someipaddress.com/XDKRT/SalLeadEntWeb.ASPのような URL にリダイレクトするよう求めています。ウェブサイトはワードプレスで開発されていますが、これを達成する方法を教えてくれる人はいますか?, CURLを使用するとこれを達成できることを知りましたが、 CURLをどこに追加すればよいですか? 私のphpアクションフォームは次のようなものです:

<?php ob_start(); ?>
<?php
$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_phone = $_POST['phone'];
$contact_message = $_POST['message'];

if( $contact_name == true )
{
    $sender = $contact_email;

    $receiver  = 'info@compositedge.com' . ',referral@compositeinvestments.com'; // note the comma

    $client_ip = $_SERVER['REMOTE_ADDR'];

    $email_body = "Name: $contact_name \nEmail: $contact_email \nPhone No: $contact_phone \nMessage: $contact_message \n";  

    $extra = "From: info@compositedge.com\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();

    if( mail( $receiver, "Open an Account - Download and Print", $email_body, $extra ) ) 
    {
    //IF SUCCESSFUL, REDIRECT
header("Location: http://www.mydomain.com/?page_id=1112");
    }
    else
    {
        echo "success=no";
    }
}
?>
<?php ob_flush(); ?>

CURL をどこに追加すればよいですか?

4

1 に答える 1

0

への呼び出しの前に cURL リクエストが追加されたコードを次に示しますmail()

<?php ob_start();

$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_phone = $_POST['phone'];
$contact_message = $_POST['message'];

if( !empty($contact_name)) {
    $sender = $contact_email;
    $receiver  = 'info@compositedge.com' . ',referral@compositeinvestments.com'; // note the comma
    $client_ip = $_SERVER['REMOTE_ADDR'];
    $email_body = "Name: $contact_name \nEmail: $contact_email \nPhone No: $contact_phone \nMessage: $contact_message \n";  
    $extra = "From: info@compositedge.com\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();

    // URL for cURL to post to
    $url        = 'http://someipaddress.com/XDKRT/SalLeadEntWeb.ASP';

    // Postfields for cURL to send
    // NOTE: You probably need to change the array keys to what the remote server expects to receive
    $postFields = array('name' => $contact_name,
                        'email' => $contact_email,
                        'phone' => $contact_phone,
                        'message' => $contact_message);

    // initialize curl and options
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postFields));
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);

    // send curl request
    $res = curl_exec($ch);
    curl_close($ch);
    // you can examine $res here to see if the request was successful


    if( mail( $receiver, "Open an Account - Download and Print", $email_body, $extra ) ) {
        // IF SUCCESSFUL, REDIRECT
        header("Location: http://www.mydomain.com/?page_id=1112");
    } else {
        echo "success=no";
    }
}

ob_flush();

$urlcURL以外でおそらく変更する必要があるのは、 $postFields. これは、リモート URL の送信内容に基づいて変更する必要があります。

それが役立つことを願っています。

于 2012-08-01T21:21:45.830 に答える