我正在使用Zillow API以從用戶輸入中獲取一些數據。到目前爲止,我已經能夠正確使用API從單個輸入中獲取所需的數據。PHP函數 - 將HTML表單輸入轉換爲多輸入的可重用函數
我遇到的問題是當我嘗試將簡單的代碼塊轉換爲可以多次重複使用多個輸入的函數時。最後,我希望用戶能夠上傳CSV文件或並通過多個輸入來運行該功能。
下面是我的代碼可正常工作:
HTML
<form action="logic.php" method="post">
<p>Address: <input type="text" name="address"></p>
<p>City/State: <input type="text" name="csz"></p>
<input type="submit">
</form>
PHP
//API Key
$api_key = 'XXXxxXXX';
//User Inputs
$search = $_POST['address'];
$citystate = $_POST['csz'];
//User Inputs Fromatted
$address = urlencode($search);
$citystatezip = urlencode($citystate);
//Get Address ID From API
$url = "http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=".$api_key."&address=".$address."&citystatezip=".$citystatezip;
$result = file_get_contents($url);
$data = simplexml_load_string($result);
$addressID = $data->response->results->result[0]->zpid;
//Get Estimate from API (using adressID)
$estimate_url = "http://www.zillow.com/webservice/GetZestimate.htm?zws-id=".$api_key."&zpid=".$addressID;
$estimate_result = file_get_contents($zurl);
$estimate_data = simplexml_load_string($zresult);
$estimate = $zdata->response->zestimate->amount;
echo $estimate;
現在的問題是,當我嘗試和包裝這兩種起來分成兩個獨立的功能,以便將它們用於多個輸入。
$api_key = 'XXXxxXXX';
//User Inputs
$search = $_POST['address'];
$citystate = $_POST['csz'];
//User Inputs Fromatted
$address = urlencode($search);
$citystatezip = urlencode($citystate);
function getAddressID($ad,$cs){
//Get Address ID From API
$url = "http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=".$api_key."&address=".$ad."&citystatezip=".$cs;
$result = file_get_contents($url);
$data = simplexml_load_string($result);
$addressID = $data->response->results->result[0]->zpid;
return $addressID;
}
$addressID = getAddressID($address, $citystatezip);
function getEstimate($aID){
//Get Estimate from API (using adressID)
$estimate_url = "http://www.zillow.com/webservice/GetZestimate.htm?zws-id=".$api_key."&zpid=".$aID;
$estimate_result = file_get_contents($estimate_url);
$estimate_data = simplexml_load_string($estimate_result);
$estimate = $estimate_data->response->zestimate->amount;
return $estimate;
}
echo getEstimate($addressID); //Calling function doesn't return anything
如果基本上我在做和第一個PHP例子一樣的事情。爲什麼不在函數內部工作?我忽略了什麼?
對此的螞蟻幫助將不勝感激。
你能告訴我什麼是'$ zurl'?我看不到你在哪裏定義了它? – Rohit
對不起,我更新了代碼塊。 $ zurl是從舊版本複製的。 – iammikerodriguez