手动将表单数据传递给经典的asp页面失败

时间:2012-11-08 19:15:58

标签: html forms asp-classic parameter-passing

将表单值从标准html表单传递到asp页面,但尝试手动传递它们不起作用。这是ASP经典的一些奇怪吗?为了概述这种情况,我有以下标准形式:

<form name="login" id="login" method="post" action="login_process.asp">
<input name="userName" type="text" size="30" maxlength="100" />
<input name="password" type="password" size="30" maxlength="100" />
<input name="Submit" type="submit" class="btn" value="Login" />
</form>

在接收端(login_process.asp),我有这个:

if Request.Form("Username") <> "" and Request.Form("Password") <> "" then
' do stuff here

现在奇怪的是,这种形式已经存在多年并且确实有效。但是,如果我尝试手动将值传递给login_process.asp,则值永远不会成功:

www.zzz.com/login_process.asp?username=some_user&password=some_password

我在login_process.asp中添加了一些检查,看看我是否可以在提交之前从提交中提取变量:

myUsername = request.form("Username")
myPassword = request.form("Password")
response.write "user=" & myUsername
response.write "pass=" & myPassword

我所得到的只是

user=pass=

显然数据没有通过。但为什么?我在俯瞰什么?传递表单数据是基本的东西所以给出了什么?

任何见解都表示赞赏!

2 个答案:

答案 0 :(得分:2)

如果您在查询字符串上传递表单,则不再使用该表单,因此 Request.Form 将无效。您需要使用 Request.QueryString

更多信息here

答案 1 :(得分:0)

我们可以使用“Request.Form”将表单字段数据输入到其他页面。为此,请尝试以下代码:

<form name="login" id="login" method="post" action="login_process.asp">
<input name="userName" type="text" size="30" maxlength="100" />
<input name="password" type="password" size="30" maxlength="100" />
<input name="Submit" type="submit" class="btn" value="Login" />
</form>

我们在login.process.asp页面中获取表单数据是这样的:

<%  Response.Write(Request.Form("userName"))   %>

它将显示userName值