2016-08-17 69 views
0

我不知道如何检测它是用户第一次登录网页。如何在用户刚刚登录时弹出通知范围(但不只是刷新到主页)?

我以为我应该在jsp上写一个弹出范围,用户在登录时首先看到的。但问题是他刷新页面,该通知会再次显示,这很荒谬。 我需要检测,如果是第一次登录,就意味着检测,如果用户只需登录或不刷新页面

如何,我应该在哪里检测,如果是第一次用户登录?然后如果通知弹出,我可以考虑。

我认为它应该使用cookie或会话,但我应该使用哪一个?

+1

你需要检查一个cookie,如果存在的话,不要显示弹出窗口。如果不是,请添加一个cookie并显示弹出窗口。相关问题:http://stackoverflow.com/questions/18904697/have-div-display-only-on-first-time-visit-cookies – trysmudford

+0

这与Java有什么关系? – RealSkeptic

+0

希望不要..如果逻辑应该写在java-end,可能会更复杂 – daxue

回答

0

维护数据库表中的一个字段,检查它是否是第一次登录而不是显示弹出窗口,之后更改该字段的值以便下次不显示弹出窗口。

例:

if($data['first_login'] == 1) 

    { 
     // show popup 
    } 
+0

是这个javascript代码吗? – daxue

+0

我需要检测,如果它是第一次登录意味着检测用户是否登录或不刷新页面。我的英语差。 – daxue

+0

为此,如果登录凭证是确定的,则进行额外检查,然后再设置会话“它是第一次登录”之前进行检查。相应地使用它。 –

0

如果你想它仅向新用户(时间用户寄存器),你可以在数据库中的表列,你可以用它来检查用户是否登录在第一次(例如firts登录列名= 1)。如果他第一次登录,则显示弹出窗口并将字段值更改为0.

否则,如果您想向第一次登录到特定设备的用户显示应该使用cookies。

0

我想你想检测用户登录到您的网站第一次。根据您希望额外花时间编写代码,登录逻辑(客户端或服务器端)的位置,您希望在向用户提供登录功能时所需的安全性,您可以采用多种方式来完成此操作。在所有情况下 - 无论用户是否第一次登录,您都必须存储数据。我认为您正在寻求一种快速的解决方案,无需关心隐私或安全性,因为使用客户端Cookie不是最安全的数据存储方式。 Cookie的替代品是Web令牌,URL查询字符串,服务器端会话和数据库(RDBMS)存储。

使用COOKIES存储和检索客户端上的数据。它们是存储在用户的Web浏览器中的片断。创建Cookies是为了帮助服务器在下次进入网站时记住用户的相关数据。最常见的用法是:存储位置(如果用户接受),网站区域设置(用户浏览网站的语言),添加到购物车的产品等。按照该方法,您可以在用户拥有登录到您的网站如下:

这应该由您的JavaScript运行。

document.cookie = "firstLogin=true"; 

已经这样做了之后,你就必须添加JavaScript逻辑,将挂钩到用户的/客户端的cookie数据,并宣读了他是否已经在第一时间之前登录。

这可能看起来像一个简单的JavaScript cookie查找。

var cookieData = document.cookie; 

这将返回您访问您的网站时以前存储的所有用户的Cookie。它会将它作为与“;”连接的字符串返回。如果我们以前只存储了一个cookie,我们会得到firstLogin=true;

如果您之前设置了多个cookie,您将不得不解析cookie字符串,并通过简单的程序化JavaScript代码或写入功能,这将能够做到这一点。编写这些功能的详细例子可以在here找到。

相关问题