【发布时间】:2016-05-18 23:56:23
【问题描述】:
我有这样的代码
<html>
<head>
<title></title>
</head>
<body>
<%
Function GetGUID()
GetGUID = CreateObject("Scriptlet.TypeLib").GUID
End Function
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
if session("token") = cstr(Request.Form("csrftoken")) then
response.write("Same")
else
response.write("different")
end if
else
dim token
token = GetGUID()
session("token")=token
end if
%>
<form method="post" action="test.asp">
<input type="text" name="nama" placeholder="Input name">
<input type="submit" value="submit">
<input type="hidden" value="<%= session("token") %>" name="csrftoken">
</form>
</body>
</html>
但是当我单击提交按钮时,总是会打印不同的内容。我非常确定这些变量(会话和 csrftoken)具有相同的值,因为我已经通过打印这些变量进行了检查。
更新
感谢大家的帮助,问题已经解决。这是因为 GUID 返回以 null 结尾的字符串。 作为参考,您可以在此处查看:Link。感谢 Lankymart 的参考:)
【问题讨论】:
-
可能是空格问题?打印时尝试将两个变量放在
_之间。 -
好的,让我试试
-
没有空白问题,但我不知道。为什么在我打印会话变量后,我不能将它与“_”连接起来。这是我的代码:pastebin.com/NDp1jSAP
-
我认为问题出在 CreateObject("Scriptlet.TypeLib").GUID
-
哦,谢谢@Lankymart 的参考
标签: vbscript asp-classic