use*_*175 2 php forms ip input 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; ?>" />
Run Code Online (Sandbox Code Playgroud)
我正在使用PHP JSON-decode从"http://freegeoip.net/json/(IP ADDRESS)"获取数据.
该网站对IP地址进行地理编码并返回国家/地区名称.
我想要做的是能够将用户IP地址替换为该网址,然后返回用户的国家/地区名称.我能想到的最好方法是使用
<?php echo $_SERVER['REMOTE_ADDR']; ?>
Run Code Online (Sandbox Code Playgroud)
但当我把它放进去时,我得到一个服务器错误.
我该怎么做呢?
Jer*_*oen 11
$pageContent = file_get_contents('http://freegeoip.net/json/' . $_SERVER['REMOTE_ADDR']);
Run Code Online (Sandbox Code Playgroud)
你不能echo在一个函数中使用.相反,您应该使用连接运算符.
此外,更好的代码将是这样的:
<?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); ?>" />
Run Code Online (Sandbox Code Playgroud)