我真的不知道Drupal,但我已经创建了一个简单的HTML页面,我想使用输入的名字和姓氏运行snoopy.class.php在网站上运行一个脚本来检索一些数据。该按钮应该运行一个函数,它将提交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;
}
?>任何帮助都将不胜感激。
发布于 2013-09-04 15:42:55
如果您需要在Drupal站点上进行自定义开发,请使用创建自定义模块并使用Drupal形式API。
如果您需要执行来自PHP的HTTP请求,请使用PHP库/扩展,例如php-curl、口香糖或Drupal的drupal_http_request()。是的他们都支持HTTPS。
https://stackoverflow.com/questions/18602175
复制相似问题