1

Drupal についてはよくわかりませんが、snoopy.class.php を実行するために入力された姓名を使用して Web サイトでスクリプトを実行し、データを取得する単純な HTML ページを作成できました。ボタンは URL を送信する関数を実行する必要がありますが、結果が得られません。

Drupal でデバッグする方法がわからないのでecho、新しいスヌーピー オブジェクトを作成しようとすると、コードがどこまで実行されたかを確認するステートメントをいくつか追加しました。クラスをダウンロードし、アクセス可能なフォルダー、つまり public_html/tools と思われるフォルダーに配置しました。

-rw-r--r-- 1 agentpitstop apache 37815 Sep  3 21:03 Snoopy.class.php 

以下は私が使用しているコードです

<form method="post">
<p>Last Name: <input type="text" name="lastname" /><br />
   First Name: <input type="text" name="firstname" /></p>
 <p><input type="submit" value="Send it!"></p>
</form>

<?php

if($_POST)
{

  echo "1st display  <br />\n";


  $url = "https://pdb-services-beta.nipr.com/pdb-xml-reports/hitlist_xml.cgi?";
  $url = $url . "customer_number=beta83agent&pin_number=nipr123&report_type=1";

  $lastname = $_POST['lastname'];




    $firstname = $_POST['firstname'];
      $parms = array("name_last"=>$lastname,"name_first"=>$firstname);

      echo "2nd display  <br />\n";


      $result = curl_download($url,$parms);
      $xml=simplexml_load_file("$result.xml");
      $nipr_id = $xml->NPN;

      echo "url " . $url . "<br />\n";
      echo "Agent  " . $_POST['firstname'] . " " . $_POST['lastname'] . " Id is:".  $nipr_id  . "<br />\n";
      echo "3rd Result from call " . $result . "<br />\n";
   }
?>






   <?php
            include "Snoopy.class.php";
    function curl_download($url,$parms)
    {

echo "in call to curldownload ";
$snoopy = new Snoopy();
echo "after setting object";

$snoopy->curl_path = "/usr/bin/curl";  # Or whatever your path to curl is - 'which curl' in terminal will give it to you.  Needed because snoopy uses standalone curl to deal with https sites, not php_curl builtin.
echo "after setting path";
$snoopy->httpsmethod = "POST";
echo "after setting post";
$snoopy->submit($url, $parms);
echo "after setting submit";
print $snoopy->results;
echo "results: " . results;
return $snoopy->results;
}
?>

どんな助けでも大歓迎です。

4

1 に答える 1

1

Drupal サイトでカスタム開発が必要な場合は、カスタム モジュールを作成し、Drupal のフォーム APIを使用します。

PHP から HTTP リクエストを実行する必要がある場合は、 php-curlGuzzle、Drupalなどの PHP ライブラリ/拡張機能を使用しますdrupal_http_request()。はい、それらはすべて HTTPS をサポートしています。

于 2013-09-04T15:42:55.893 に答える