我正在尝试在表单输入值中显示用户所在的国家/地区(基于他们的 IP)。
到目前为止,这是我的代码..
<input style="display:block" type="text" name="country" id="country" value="<?php
$pageContent = file_get_contents('http://freegeoip.net/json/echo $_SERVER['REMOTE_ADDR']');
$parsedJson = json_decode($pageContent);
echo $parsedJson->country_name; ?>" />
我正在使用 PHP JSON 解码从“http://freegeoip.net/json/(IP ADDRESS)”获取数据。
该网站对 IP 地址进行地理编码并返回国家/地区名称。
我想要做的是能够将用户的 IP 地址替换为该网址,然后返回用户的国家/地区名称。我能想到的最好的方法是使用
<?php echo $_SERVER['REMOTE_ADDR']; ?>
但是当我放入它时,出现服务器错误。
我该怎么做呢?
最佳答案
$pageContent = file_get_contents('http://freegeoip.net/json/' . $_SERVER['REMOTE_ADDR']);
您不能在函数中使用 echo
。相反,您应该使用 concatenating operator .
此外,更好的代码应该是这样的:
<?php
$pageContent = file_get_contents('http://freegeoip.net/json/' . $_SERVER['REMOTE_ADDR']);
$parsedJson = json_decode($pageContent);
?>
<input style="display:block" type="text" name="country" id="country" value="<?php echo htmlspecialchars($parsedJson->country_name); ?>" />
关于php - 使用 PHP echo 的 IP 地理编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10805757/