Vbscript ASP.Classic从输入到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

如果这个问题很愚蠢,请原谅。

我需要获得一个输入值并将其传递到POST参数中,如下所示:

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