gpt4 book ai didi

asp-classic - ASP : request. 表单没有返回值?

转载 作者:行者123 更新时间:2023-12-04 01:04:27 25 4
gpt4 key购买 nike

我有以下表格,

<form action="contact_us.asp" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input name="firstname" type="text" id="firstname" size="30" />
<input name="lastname" type="text" id="lastname" size="30" />
<input type="submit" name="submit" id="submit" value="Submit" />
</form>

但是当我试图在我的 ASP 文件 contact_us.asp 中获取这些 post 变量的值时,它会返回空白。代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<%

Dim FirstName, LastName, Email, Message
FirstName = request.form("firstname")
LastName = request.form("lastname")

response.write(FirstName & "OK")

%>

它只向我返回“OK”。消息变量中什么都没有?

请帮助我并告诉我这里有什么问题?

最佳答案

经典 ASP 不提供对使用“multipart/form-data”的内置支持。即使对于 ASP 古老的语言来说,这也是一个令人惊讶的基本缺陷,但是您将如何解决它,迁移到 ASP.NET? (是吗?哦。那没关系。)
如果您不进行文件上传,最简单的方法是坚持使用默认 enctype (即 application/x-www-form-urlencoded )。 multipart/form-data的唯一优势|是您可以将文件上传放入其中。 (理论上,它还有一个优点是您可以明确地指定字符编码。但实际上没有浏览器这样做。)
如果确实需要处理multipart/form-data在 Classic ASP 中,您需要自己解析传入的请求正文,将其拆分为字段和值。或者更确切地说,更典型的是,使用现有的库来完成它*。
该库通常会提供单独的接口(interface)来读取上传的文件和其他表单值。这完全取代了经典 ASP Request.Form 的使用。界面。您可以在哪里找到它取决于您选择的库。这确实意味着,如果您想要一个可以响应 enctype 的表单,同样,您必须检查类型并使用两个不同接口(interface)之一。
*:有负载。 for example .我不认可其中任何一个......它们实际上都没有按照标准正确解析多部分,并且两者似乎都对文件名安全性有点松懈(永远不要将文件存储在用户提交的文件名下!安全灾难!)。但这似乎是 ASP 上传脚本类(class)的标准。至少,不像许多人,他们不会为他们要钱。

关于asp-classic - ASP : request. 表单没有返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3649799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com