Vbscript ASP.Classic从输入到POST参数获取值
如果这个问题很愚蠢,请原谅。 我需要获得一个输入值并将其传递到POST参数中,如下所示:Vbscript ASP.Classic从输入到POST参数获取值,vbscript,asp-classic,Vbscript,Asp Classic,如果这个问题很愚蠢,请原谅。 我需要获得一个输入值并将其传递到POST参数中,如下所示: SQL = "[proc_Happy]" & Request.Cookies("UserID")& "," & Request.Form("MYINPUTFIELD") 我已尝试使用硬编码MYINPUTFIELD(它起作用了!): 我在asp页面中的输入如下所示: <input type="number" name="MYINPUTFIELD " id="MYINPUTFIE
SQL = "[proc_Happy]" & Request.Cookies("UserID")& "," & Request.Form("MYINPUTFIELD")
我已尝试使用硬编码MYINPUTFIELD(它起作用了!):
我在asp页面中的输入如下所示:
<input type="number" name="MYINPUTFIELD " id="MYINPUTFIELD" value="<%=MYINPUTFIELD%>">
我尝试过的事情:
使用JS获取值失败
注意事项:
MYINPUTFIELD是一个int是表单中的输入字段,即它是否在
和
标记之间?如果没有,那就是你的问题。如果是,标签中有什么?它是说method='get'
?如果是,那么您的输入将放在querystring中,而不是表单对象中。要使Request.Form(…)
起作用,您的表单需要显示method='post'
如果您需要这段代码来处理这两种表单方法,您可以执行以下操作
dim MyInputField
MyInputField = Request.Querystring("MyInputField")
If MyInputField = "" Then MyInputField = Request.Form("MyInputField")
'make the "OMGSQLINJECTION!!1!" people just go away already
'(note to such people: he's using a frigging stored procedure.)
If Not Isnumeric(MyInputField) Then
MyInputField = 0
End If
SQL = "[proc_Happy]" & Request.Cookies("UserID")& "," & MyInputField
我强烈建议你读书。你的代码很容易受到攻击。你会遇到什么错误?什么具体不起作用?如果将字符串写回页面,会得到什么?你确定你已经将表单的方法设置为POST not gethank you@mjwills对于注释,这个项目是一个测试,而不是一个生产项目-谢谢<代码>此项目是一个测试,不是生产项目测试,否则,您不应该使用该代码。正确地完成它不需要额外的时间,并且鼓励良好的实践,这将在将来帮助您。因为他使用的是存储过程,所以参数是经过验证的。MYINPUTFIELD必须是一个int。因此,代码实际上不易受攻击。
dim MyInputField
MyInputField = Request.Querystring("MyInputField")
If MyInputField = "" Then MyInputField = Request.Form("MyInputField")
'make the "OMGSQLINJECTION!!1!" people just go away already
'(note to such people: he's using a frigging stored procedure.)
If Not Isnumeric(MyInputField) Then
MyInputField = 0
End If
SQL = "[proc_Happy]" & Request.Cookies("UserID")& "," & MyInputField