0

私は電子メール マーケティング会社を使用して HTML 電子メールを送信し、投稿で絶対パスを使用し、フォームの処理に使用する隠し変数を含めます。キャプチャを追加したいのですが、方法がわかりません。すべての php キャプチャ オプションは、post を使用して process.php ページに投稿します。どうすればそれを行い、隠し変数を含めて電子メールマーケティング会社に完全に投稿できますか?

4

1 に答える 1

0

私の理解が正しければ、現在、フォームのaction属性をマーケティング会社の URL に設定しているだけです。

<form action="http://marketingsite.com/form.php" method="post">

...しかし、ここでは、データを送信する前に検証したいと考えています。

1 つのオプションは、独自の Web サイト内でデータを検証し、process.phpを使用cURLしてデータをマーケティング サイトに投稿することです。

http://php.net/manual/en/book.curl.php

cURL通常、PHP のインストール時に含まれます。他の人の Web ページのデータを読み取り、送信するために使用されます。投稿するデータを選択して、 を使用cURLして投稿できます。

<?php
//  validate the CAPTCHA code first

//  This array will hold the data that you are POSTing to the marketing site
$post = array();

//  validate the other fields here, and add the relevant ones to an array. e.g.:
if(strlen($_POST['name']) > 4 && strlen($_POST['name'] < 20)) {
    $post['name'] = $_POST['name'];
}
if(strlen($_POST['hiddenfield'] != 0)) {
    $post['hiddenfield'] = $_POST['hiddenfield'];
}
//  ...

$curl = curl_init(); 

//  post the data to this url:
curl_setopt($curl,CURLOPT_URL,'http://marketingsite.com/form.php'); 

//  This indicates that we are going to post some data:
curl_setopt($curl,CURLOPT_POST,true); 

//  Post this data:
curl_setopt($curl,CURLOPT_POSTFIELDS,$post); 

//  If your script successfully sent the data, && if http://marketingsite.com/form.php returned a 200 code 
//      (i.e.: not a 404 error or something)
if(curl_exec($curl) && curl_getinfo($curl,CURLINFO_HTTP_CODE) == 200) {
    echo 'Thank you for submitting your data';
} else {
    echo 'Your data was not submitted :( ';
}
curl_close($curl); 
?>

これにより、隠しフィールドや追加したい他のフィールドを含め、選択したすべてが投稿されます。

他にも設定できるオプションがあります。受信 Web ページを読み取って、そのコンテンツをサイトにエコー バックすることができます。との詳細についてはcURL、次を参照しPHPてください。

http://php.net/manual/en/book.curl.php

于 2012-10-04T16:24:15.733 に答える