显示用户城市的结果

时间:2015-08-01 14:01:27

标签: php cookies geolocation

我想通过访问过的用户DB显示city的结果,我有2个想法可以做到。

  • 首先请用户首次访问网站,使用javascript弹出窗口选择位置,然后将其存储在Cookie中以便进一步访问。

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

我不确定哪一个最好,第二个选项不是100%准确的,因为IP到位置会给你一些错误的结果。

伙计们,请您建议您选择哪种方式?我应该在cookie中存储哪些数据?

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

2 个答案:

答案 0 :(得分:2)

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

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

  • HTML5 Geolocation。该信息由用户提供 浏览器,但它也会提示用户询问他们是否 想要提交这些信息(至少,它在Firefox中提供,我没有 回想一下其他浏览器的行为方式)。

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

  • 如果我们无法进行任何检测,准确或其他方式,我们会 提示用户提供此信息(此特定应用程序是 依赖于这些信息,因此没有能力继续进行 不知道这个。)

答案 1 :(得分:0)

我建议将两个选项组合起来。

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

接下来,向用户提供信息,并在位置错误时请求他们更新。

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