好的,我认为这应该会生成一个json响应,但没有任何内容被打印出来。我错过了什么?我正在尝试将此输入发送到url请求,然后获取要打印的json响应。
<?php
// Customize this (get ID/token values in your SmartyStreets account)
$authId = urlencode("id");
$authToken = urlencode("id");
// Address input
$input1 = urlencode($_POST["street"]);
$input2 = urlencode($_POST["city"]);
$input3 = urlencode($_POST["state"]);
$input4 = urlencode($_POST["postcode"]);
// Build the URL
$req = "https://api.smartystreets.com/street-address/?street={$input1}&city={$input2}&state={$input3}&postcode={$input4}&auth-id={$authId}&auth-token={$authToken}";
// GET request and turn into associative array
$result = json_decode(file_get_contents($req));
?>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
</head>
<body>
<div id="panel">
<form action="smarty-geocode.php" name="" method="post">
<input id="addresses" type="hidden" value="">
Street Address
<input id="street" type="textbox" value="" class="address">
<br />
City
<input id="city" type="textbox" value="" class="address">
<br />
State
<input id="state" type="textbox" value="" class="address">
<br />
Zipcode
<input id="postcode" type="textbox" value="" class="address">
<br />
Country
<input id="country" type="textbox" value="" class="address">
<br />
<input type="submit" value="submit" id="#mySubmitButton" />
</form>
</div>
<div id="map-canvas" style="height:40%;top:30px;"></div>
<div>
<?php
echo "<pre>";
print_r($result);
echo "</pre>";
?>
</div>
</body>
</html>
答案 0 :(得分:2)
我没有足够的信息来调试您网址的输出 - 不过我认为您应该可以通过将其添加到页面底部来解决这个问题: -
<?php var_dump(file_get_contents($req)); ?>
除此之外,您的表单元素都没有名称属性,因此实际上没有任何内容发布到您的脚本中。以下是表单的修改版本,其中包含每个字段的名称属性: -
<form action="smarty-geocode.php" name="" method="post">
<input id="addresses" name="addresses" type="hidden" value="">
Street Address
<input id="street" name="street" type="textbox" value="" class="address">
<br />
City
<input id="city" name="city" type="textbox" value="" class="address">
<br />
State
<input id="state" name="state" type="textbox" value="" class="address">
<br />
Zipcode
<input id="postcode" name="postcode" type="textbox" value="" class="address">
<br />
Country
<input id="country" name="country" type="textbox" value="" class="address">
<br />
<input type="submit" value="submit" id="#mySubmitButton" />
</form>
希望这一点,结合您对file_get_contents命令输出的调试,将帮助您解决您遇到的问题。我假设您正在使用Smarty Streets中的有效authId和authToken替换这些值: -
$authId = urlencode("id");
$authToken = urlencode("id");