Aujourd'hui, l'éditeur partagera avec vous l'introduction de la façon de restreindre le même nom d'utilisateur de se connecter en même temps. Les amis intéressés en apprendront avec l'éditeur!
Ma solution à ce problème est que l'utilisateur a un problème d'intervalle de temps actif. Ceux qui dépassent cet intervalle de temps actif peuvent être considérés comme hors ligne, et ces derniers peuvent se connecter. Si le second ne se connecte pas, cela ne signifie pas que le premier doit se connecter à nouveau. Parce que sa session est toujours là. Il ne peut s'agir que plus le réglage du temps est petit, plus il est précis et il ne peut pas être absolu.
Le code est publié pour référence par l'auteur.
Fonction CheckOnline () dim ip, rsprv, sql, prvdbstateprvdbstate = falsef dbstate = false thendbopen () prvdbstate = trueend ifset rsprv = server.createObject ("adodb.recordSet") if session ("username") = "" thensql = "select * from [online] & "'" rsprv.open SQL, Conn, 1,3if rsprv.eof thenrsprv.addnewsprv ("sessionId") = session.SessionDrSprv ("GroupCargelv") = -1RSPRV ("LastActtime") = Now () rsprv ("userIp") = GetIprSprv ("sur)")) 0rsprv ("userwhere") = request.serverVariables ("http_referrer") elSersprv ("userwhere") = request.servervariables ("http_referer") rsprv ("onlinetime") = request.servervariless ("http_refer") rsprv ("onlinetime") + datediff ("n", rsprv ("lastActtime"), maintenant ()) rsprv ("lastAtTime") = Now () end ifrsprv.updatersprv.close () 'réponse.write "notlogin" else'response.write "SQL" SQL = "SELECT * from [Online] WHERE USERNAM Session ("Username") & "'" rsprv.open SQL, Conn, 1,3if rsprv.eof thenrsprv.addnewsprv ("sessiond") = session.SessionDrrsprv ("username") = session ("username") rsprv ("GroupChargeLv") = Session ("GroupCharglar Maintenant () rsprv ("onlineTime") = 0rsprv ("userIp") = getIprsprv ("userwhere") = request.servervariables ("http_referrer") elseIf rsprv ("sessionId") session.SessionId et application ("Loginset") (1) Login, FAUX, Loginout.asp " Le site Web a 1 ID et ne peut avoir qu'une seule connexion / n, vous pouvez essayer la connexion plus tard. DADIFF ("n", rsprv ("lastActtime"), maintenant ()) rsprv ("lastActTime") = maintenant () end ifrsprv.updatersprv.close () end ifset rsprv = rien de dadiff ("s", application (onlineLastDelete "), maintenant ())> int (application (" deleteonLiff ")) AlorsApplication.lock () Application ("onlineLastDelete") = nowApplication.unlock () Conn.Execute ("Delete from [Online] WHERE DATEIFF ('S', LASTACTtiME, NOW ())>" & int (application ("CheckOnlinediff") & "")) 'Supprimer l'invité sans activité pour la fonction x seconde iffif prvdbState = true alors dbclose () final Fonction FinD ifif prvdbState = true dbclose () final fure funder fund ifif prvdbState = true dbclose () final fure funder fund ifif prvdbState = true dbclose () final fure funder fund ifif prvdbState = true dbclose () final fure fundeCe qui précède est une introduction à la façon de restreindre le même nom d'utilisateur de se connecter en même temps. J'espère que vous pouvez l'aimer. Pour plus de contenu, veuillez continuer à prêter attention au site Web de la mauvaise chaîne de nouvelles technologies!