Php 显示来自用户城市的结果

Php 显示来自用户城市的结果,php,cookies,geolocation,Php,Cookies,Geolocation,我想通过访问用户city显示DB的结果,我有两个想法 首先,让第一次访问网站的用户使用javascript弹出窗口选择网站的位置,并将其存储在cookie中以供进一步访问 第二个选项是使用IP-to-Locationapi自动获取当前用户位置,并使用php存储cookie 我不确定哪一个是最好的,第二个选项不是100%准确的,因为IP地址可能会给你一些错误的结果 伙计们,请告诉我你们要走哪条路?我应该在cookie中存储哪些数据 您希望获得当前用户所在城市的任何免费API。有几种方法,包括您

我想通过访问用户
city
显示
DB
的结果,我有两个想法

  • 首先,让第一次访问网站的用户使用
    javascript
    弹出窗口选择网站的位置,并将其存储在cookie中以供进一步访问

  • 第二个选项是使用
    IP-to-Location
    api自动获取当前用户位置,并使用php存储cookie

我不确定哪一个是最好的,第二个选项不是
100%
准确的,因为IP地址可能会给你一些错误的结果

伙计们,请告诉我你们要走哪条路?我应该在cookie中存储哪些数据


您希望获得当前用户所在城市的任何免费API。

有几种方法,包括您指定的方法。实现多种方法以获得最准确的结果是一个好主意

在我们最近完成的一个项目中,我们尝试检测用户的位置,并在站点的标题中向他们显示该信息,让用户可以选择单击并更改它,以便在检测不准确时提供正确的位置。我们实施了以下方法:

  • 。此信息由用户的 但是,它也会提示用户询问他们是否 想提交此信息(至少在Firefox中是这样,我不想提交) 回想一下其他浏览器的行为)

  • 。这一个是服务器端的,通常会给出 结果精确到一个城市,但并不总是如此。特别是如果用户 如果正在使用移动热点,它可能会在网络的另一端检测到它们 这个国家

  • 如果我们不能做出任何检测,不管是准确的还是其他的,我们都会 提示用户输入此信息(此特定应用程序 依赖于此信息,因此无法继续 不知道这一点)


我建议结合两种选择

首先,使用IP地理定位API(如ipinfo.com)来检测IP地址的位置

接下来,向用户提供信息,如果位置错误,请他们进行更新


在这种情况下,您将始终获得用户的位置。

您可以使用HTML Geolocation使用html5。感谢您的解释,这就是我认为必须使用回退方法处理的问题。如果用户在浏览器中不支持地理定位,我们将提示用户手动选择城市