Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms ASP mdb表单提交/mdb连接仅在本地工作_Forms_Ms Access_Asp Classic - Fatal编程技术网

Forms ASP mdb表单提交/mdb连接仅在本地工作

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

你好,我先为一个很糟糕的问题道歉

在没有任何asp.net经验的情况下,我的一个朋友要求我修复一个非常旧/可怕的网站的问题

问题是,当网站被托管时,特别是在Plesk上(不要紧),如果有人试图提交联系我们表单,就会触发一个内部服务器错误。奇怪的是,在本地创建了一个项目并在我的机器上运行了服务器之后,一切似乎都很正常

表单标题如下所示

<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连接,那么第二个答案可能是最有用的。