Object 字典对象丢失其内容经典ASP 用户名: 密码:
这是我用经典ASP创建的基本登录页面。当我输入一个用户并通过,然后单击Register,它会将用户名和密码存储在字典中,没有问题。但是,当我单击submit按钮时(在填写注册凭据之后),字典的内容不知怎的被删除了。因此,如果Session(“credentials”).Exists(userd)=true,那么“语句将失败。我甚至尝试将“凭证”作为一个普通变量,而不使用会话。它还是不起作用,字典的内容被删除了。我怎样才能克服这个问题?提前谢谢 这是第一次 凭据。添加用户,通过 设置会话(“凭据”)=凭据Object 字典对象丢失其内容经典ASP 用户名: 密码:,object,vbscript,asp-classic,session-variables,Object,Vbscript,Asp Classic,Session Variables,这是我用经典ASP创建的基本登录页面。当我输入一个用户并通过,然后单击Register,它会将用户名和密码存储在字典中,没有问题。但是,当我单击submit按钮时(在填写注册凭据之后),字典的内容不知怎的被删除了。因此,如果Session(“credentials”).Exists(userd)=true,那么“语句将失败。我甚至尝试将“凭证”作为一个普通变量,而不使用会话。它还是不起作用,字典的内容被删除了。我怎样才能克服这个问题?提前谢谢 这是第一次 凭据。添加用户,通过 设置会话(“凭据”
应该在之后,我会重新考虑这种方法;因为我还是ASP的初学者,所以我只想将凭证存储在字典中。我想暂时避免使用数据库。话虽如此,你建议我应该采取什么方法?将凭证存储在查询字符串中是否有效?我这样做只是为了学习,所以它不必是安全的;Session(“pass”)=“xyz”/Session(“user”)=“bob”很有趣,我会给它一个快照!非常感谢!:)嘿,乔治,欢迎加入:)请你进一步详细说明你的答案。第一步是对代码行进行格式化,第二步是添加更详细的说明。请考虑提供更多的说明。并相应地格式化您的帖子
<%@ language = "VBScript"%>
<!DOCTYPE html>
<html>
<body>
<form method="post" action="">
Username:<br> <input type = "text" name = "user"/><br>
Password:<br> <input type = "password" name = "pass"/><br>
<input type = "submit" name = "register_button" value = "Register"/>
<input type = "submit" name = "submit_button" value = "Submit"/>
</form>
<%
set credentials = Server.CreateObject("Scripting.Dictionary")
set Session("credentials") = credentials
if Request.form("register_button") <> "" then
dim user
dim pass
pass = Request.form("pass")
user = Request.form("user")
Session("credentials").Add user, pass
end if
if Request.form("submit_button") <> "" then
dim userd
dim passd
passd = Request.form("pass")
userd = Request.form("user")
if Session("credentials").Exists(userd) = true then
if Session("credentials").Item(userd) = passd then
Response.Write("ACCESS GRANTED")
else
Response.Write("ACCESS DENIED")
end if
else
Response.Write("USERNAME DOES NOT EXIST")
end if
end if
%>
</body>
</html>