Forms ASP mdb表单提交/mdb连接仅在本地工作
你好,我先为一个很糟糕的问题道歉 在没有任何asp.net经验的情况下,我的一个朋友要求我修复一个非常旧/可怕的网站的问题 问题是,当网站被托管时,特别是在Plesk上(不要紧),如果有人试图提交联系我们表单,就会触发一个内部服务器错误。奇怪的是,在本地创建了一个项目并在我的机器上运行了服务器之后,一切似乎都很正常 表单标题如下所示Forms ASP mdb表单提交/mdb连接仅在本地工作,forms,ms-access,asp-classic,Forms,Ms Access,Asp Classic,你好,我先为一个很糟糕的问题道歉 在没有任何asp.net经验的情况下,我的一个朋友要求我修复一个非常旧/可怕的网站的问题 问题是,当网站被托管时,特别是在Plesk上(不要紧),如果有人试图提交联系我们表单,就会触发一个内部服务器错误。奇怪的是,在本地创建了一个项目并在我的机器上运行了服务器之后,一切似乎都很正常 表单标题如下所示 <form name="form5" method="POST" action="feedbackcl.asp" onsubmit="javascript:r
<form name="form5" method="POST" action="feedbackcl.asp" onsubmit="javascript:return validateForm(this);">
validateForm是一个相当简单的JS函数,没有什么疯狂之处:
<script language="JavaScript">
function Juge5(theForm1) {
if (form5.iname.value == "") {
alert("Please provide a name.");
form5.iname.focus();
return (false);
}
if (form5.tel.value == "") {
alert("Please provide a phone number.");
form5.tel.focus();
return (false);
}
if (form5.email.value == "") {
alert("Please provide an E-mail.");
form5.email.focus();
return (false);
}
if (form5.neirong.value == "") {
alert("Please insert a message");
form5.neirong.focus();
return (false);
}
}
</script>
功能单元5(功能单元1){
如果(form5.iname.value==“”){
警告(“请提供名称”);
表5.iname.focus();
返回(假);
}
如果(form5.tel.value==“”){
提醒(“请提供电话号码”);
表格5.电话焦点();
返回(假);
}
如果(form5.email.value==“”){
提醒(“请提供电子邮件”);
form5.email.focus();
返回(假);
}
如果(form5.neirong.value==“”){
警告(“请插入消息”);
表5.内容.焦点();
返回(假);
}
}
添加一些控制台日志,我注意到下面的整个脚本(feedbackcl.asp)甚至从未被调用过。相反,会显示一条相当一般的错误消息,表示无法显示页面
<%
validateCode1=request("validateCode")
set conn=server.createobject("adodb.connection")
pro="provider=microsoft.jet.oledb.4.0;"
dbpath="data source="& server.mappath("data/database.mdb")
conn.open pro&dbpath
set rs=server.createobject("adodb.recordset")
sql="select * from huangtable"
rs.open sql,conn,3,3
if session("validateCode")<> validateCode1 then
response.write"<SCRIPT language=JavaScript>alert('Message Error!');"
response.write"this.location.href='contact.asp';</SCRIPT>"
response.end
else
rs.addnew
rs("FirstName")=request("iname")
rs("tel")=request("tel")
rs("email")=request("email")
rs("icontent")=request("neirong")
rs("idate")=now()
rs.update
response.write"<SCRIPT language=JavaScript>alert('Send Sucess');"
response.write"this.location.href='index.asp';</SCRIPT>"
end if
%>
任何建议都是受欢迎的,因为我已经很想简单地用React:D重写所有内容
谢谢 “内部服务器错误”是500错误吗?毫不奇怪,它在本地起作用。例如,由于某种原因(在服务器上)无法打开MDB。故障排除的一种方法是进入F12窗口,检查网络选项卡,查看是否还有其他错误。注意:像react这样的javascript库不能帮助修复500错误,这是一个后端错误。这是否有助于您找到有关服务器错误的更多信息:您好,是的,这是一个内部服务器错误,它只是说“您正在查找的资源有问题,无法显示”。关于网络选项卡,它只是在尝试加载资源“feedbackcl.asp”时提供错误,这似乎不是与DB不工作相关的问题。在本地,我只是简单地将其打包到一个asp.net项目中,并在VS2015上运行,但我理解您的意思。您需要做的第一件事是启用详细的错误消息,然后您可以看到错误是什么以及它发生在哪一行代码上。这个问题可能会有帮助。如果您必须使用Plesk,并且没有到服务器的RDP连接,那么第二个答案可能是最有用的。