0

API xml から取得した特定の結果を出力するこのコードがあります

 <?php
  echo "<h1>Approval Stats</h1><br /><br />"; 
      echo "Report for Agent Name: <b>Bhaskar</b><br />"; 

 $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_VERBOSE, 0);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_URL,'http://login.leadkitchen.com/affiliates/api/4/reports.asmx/CampaignSummary' );



 $post_array = array(
         'api_key' => 'abc',
         'affiliate_id' => 'abc',
        'start_date' => '10/8/2012',
       'end_date' => '10/11/2012',
       'sub_affiliate' => 'email',
     'start_at_row' => '1',
        'row_limit' => '0',
     'sort_field' => 'offer_name',
     'sort_descending' => 'true'
      );

      //url-ify the data
      foreach($post_array as $key=>$value) 
     { 
          $post_array_string .= $key.'='.$value.'&'; 
      }
      $post_array_string = rtrim($post_array_string,'&');
      //set the url, number of POST vars, POST data
      curl_setopt($ch,CURLOPT_POST,count($post_array ));
      curl_setopt($ch,CURLOPT_POSTFIELDS,$post_array_string);
      $response = curl_exec($ch);
     // print_r($response);

    $xml = new SimpleXMLElement($response);
    echo "<pre>";
    echo "Process Name: "; echo $xml->campaigns->campaign->vertical_name, PHP_EOL;
    echo "Approvals: "; echo $xml->campaigns->campaign->conversions, PHP_EOL;
    echo "Applied: "; echo $xml->campaigns->campaign->clicks, PHP_EOL;




?>

このリンクで考えられる xml 応答http://z4site.com/social/pay/summary.php

<campaigns>
<campaign>

<vertical_name>Free Stuff</vertical_name>

<clicks>6</clicks>
<conversions>1</conversions>

</campaign>
</campaigns>

しかし、ajax を使用して結果を生成する前に、実際にユーザーがこれらのフィールドを手動で入力できるようにするフォームを作成する必要があります。

  1. サブアフィリエイト
  2. 開始日
  3. 終了日

このパラから

 $post_array = array(
     'api_key' => 'abc',
     'affiliate_id' => 'abc',
    'start_date' => '10/8/2012',
   'end_date' => '10/11/2012',
   'sub_affiliate' => 'email',
 'start_at_row' => '1',
    'row_limit' => '0',
 'sort_field' => 'offer_name',
 'sort_descending' => 'true'
  );

どうすればよいですか? そのための HTML ファイルを作成する必要がありますか? コードを教えてください。ありがとう

html ファイルhttp://z4site.com/social/pay/report.html

<html>
<head>

</head>
<body>
<form method="post" action="summary.php">
<input type="text" name="sub_affiliate" />
<input type="text" name="start_date" />
<input type="text" name="end_date" />
<input type="submit" name="submit" value="Search" />
</form>

</body>
</html>
4

1 に答える 1

0

これは基本的な HTML+PHP の相互作用です。次のコードを使用して、有効な入力でフォームを送信したことを確認して、送信するまで API でフェッチ コードを実行しないようにすることができます。

if(!empty($_POST['sub_affiliate'])&&!empty($_POST['start_date'])&&!empty($_POST['end_date'])){//do stuff}

以下の HTML では、単純なフォームを使用できます。

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="sub_affiliate" />
    <input type="text" name="start_date" />
    <input type="text" name="end_date" />
    <input type="submit" name="submit" value="Search" />
</form>
于 2012-10-11T17:14:44.200 に答える