#login.mo
来自「WAPmo手机网站管理平台是一款创建与管理维护WAP网站的的软件产品」· MO 代码 · 共 107 行
MO
107 行
Option Explicit
TBBS.AddLang "common|head|foot|error|login"
TBBS.SetNodes "env|user"
TBBS.AddNav "", TBBS.Lang("login")
TBBS.Page("name") = TBBS.GetNav()
TBBS.AddOnline 0, TBBS.Page("name")
TBBS.Vars("skin") = "default"
TBBS.GetReferer
Call main
Private Sub doGet()
TBBS.Vars("state") = 0
TBBS.Vars("cookie") = 0
TBBS.Vars("online") = 1
End Sub
Private Sub doPost()
Dim clsCmd, strSQL
Dim blnRepeat
TBBS.Vars("username") = Trim(MyIO.Form("username"))
TBBS.Vars("passwd") = Trim(MyIO.Form("passwd"))
TBBS.Vars("cookie") = atoi(MyIO.Form("cookie"))
TBBS.Vars("online") = atoi(MyIO.Form("online"))
TBBS.Vars("state") = 1
If Not TBBS.CheckValidate("login") Then
TBBS.AddHint "invalid_validate", Array()
ElseIf TBBS.Vars("username") = "" Then
TBBS.AddHint "empty_username", Array()
ElseIf Not ValidName(TBBS.Vars("username")) Then
TBBS.AddHint "invalid_username", Array()
ElseIf TBBS.Vars("passwd") = "" Then
TBBS.AddHint "empty_passwd", Array()
Else
strSQL = "USERNAME='$(UserName)'"
strSQL = Replace(strSQL, "$(UserName)", SafeString(TBBS.Vars("username")))
Set clsCmd = MyKernel.Command(T_USER)
clsCmd.CommandType = "SELECT"
clsCmd.Where = strSQL
If Not clsCmd.Exec Then
TBBS.AddHint "login_failed", Array()
ElseIf clsCmd("passwd") <> MD5(TBBS.Vars("passwd")) Then
TBBS.AddHint "login_failed", Array()
ElseIf clsCmd("state") = TBBS_STATE_APPLY Then
TBBS.AddHint "username_not_examine", Array()
ElseIf clsCmd("state") = TBBS_STATE_REJECT Then
TBBS.AddHint "username_not_examine", Array()
ElseIf clsCmd("state") = TBBS_STATE_FORBID Then
TBBS.AddHint "username_had_forbid", Array()
ElseIf clsCmd("state") = TBBS_STATE_DELETE Then
TBBS.AddHint "username_had_delete", Array()
Else
clsCmd("logincount") = clsCmd("logincount") + 1
If clsCmd("lastlogintime") > 0 Then
clsCmd("lastvisittime") = clsCmd("lastlogintime")
clsCmd("lastvisitip") = clsCmd("lastloginip")
blnRepeat = CBool(clsCmd("lastlogintime") >= TBBS.Vars("date"))
Else
blnRepeat = False
End If
clsCmd("online") = TBBS.Vars("online")
clsCmd("lastlogintime") = TBBS.Vars("time")
clsCmd("lastloginip") = MyIO.Env("REMOTE_ADDR")
If Not blnRepeat Then
clsCmd("coin") = clsCmd("coin") + TBBS.XPEnv("coin", "login")
clsCmd("cent") = clsCmd("cent") + TBBS.XPEnv("cent", "login")
clsCmd("witchery") = clsCmd("witchery") + TBBS.XPEnv("witchery", "login")
End If
clsCmd.CommandType = "UPDATE"
clsCmd.Where = "seqid=" & clsCmd("seqid")
clsCmd.Add "logincount", clsCmd("logincount")
clsCmd.Add "lastvisittime", clsCmd("lastlogintime")
clsCmd.Add "lastvisitip", clsCmd("lastloginip")
clsCmd.Add "online", clsCmd("online")
clsCmd.Add "lastlogintime", clsCmd("lastlogintime")
clsCmd.Add "lastloginip", clsCmd("lastloginip")
clsCmd.Add "coin", clsCmd("coin")
clsCmd.Add "cent", clsCmd("cent")
clsCmd.Add "witchery", clsCmd("witchery")
clsCmd.Exec
Select Case TBBS.Vars("cookie")
Case 1
MyKernel.Memory.Expires = DateDiff("n", Now(), DateAdd("d", 1, Now()))
Case 2
MyKernel.Memory.Expires = DateDiff("n", Now(), DateAdd("m", 1, Now()))
Case 3
MyKernel.Memory.Expires = DateDiff("n", Now(), DateAdd("yyyy", 1, Now()))
End Select
TBBS.UserAsync clsCmd
TBBS.Vars("state") = 2
TBBS.AddHint "login_ok", Array(TBBS.Env("bbs_name"))
If TBBS.Vars("refer") <> "" Then
TBBS.Redirect TBBS.Vars("refer")
TBBS.AddHint "referer", Array(TBBS.Vars("refer"))
Else
TBBS.Redirect "index.asp"
End If
TBBS.SetNodes "user"
End If
Set clsCmd = Nothing
End If
Session.Contents.Remove "validate"
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?