php - 使用 PHP echo 的 IP 地理编码

标签 php forms input ip geocode

我正在尝试在表单输入值中显示用户所在的国家/地区(基于他们的 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/

相关文章:

php - 多个 MySQL 查询还是一个具有多个 JOIN 的查询?

php - 找出多维数组的差异

javascript - 带有提交按钮作为子项的按钮

javascript - 输入框功能不起作用

javascript - 表单字段输入数字通过在前面添加零自动转换为3位数字

PHP从mysql中获取数组中的多个数据

PHP - 如何使用 id 显示当前用户详细信息?

forms - 交响乐 2.3.6。嵌套形式

javascript - 有什么方法可以使 HTML 禁用的复选框变暗?

c - 从 C 中的 1 个输入行读取多个值