繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 如何检测自己网站的错误(让管理员可以睡觉)

如何检测自己网站的错误(让管理员可以睡觉)

2006-04-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:下面是根据wrox的professional ASP 3.0建立的网站错误检查机制,使用了之后,你可以找到自己很多的错误,节省大量的代码测试时间,为什么不用呢! 首先建立表: CREATE TABLE [dbo].[tSiteErrors] ( [kErrKey] [...

下面是根据wrox的professional ASP 3.0建立的网站错误检查机制,使用了之后,你可以找到自己很多的错误,节省大量的代码测试时间,为什么不用呢!

首先建立表:

CREATE TABLE [dbo].[tSiteErrors] (

[kErrKey] [int] IDENTITY (1, 1) NOT NULL ,

[dDatetime] [datetime] NOT NULL ,

[ErrorType] [varchar] (255) NOT NULL ,

[TargetUrl] [varchar] (255) NULL ,

[ErrorInfo] [varchar] (255) NULL

) ON [PRIMARY]

GO

一、检查记录网站的错误链接:

在网站的目录中建立/siteerror/naverror.ASP

________________________________________________

无法找到网页

 无法找到网页

 您正在搜索的网页可能已经删除、更名或暂时不可用。

0) And (intSemiColon 254 Then strTarget = Left(strTarget, 254)

End If

If Len(strReferer) > 255 Then strReferer = Left(strReferer, 255)

strInform = "请通知包含该错误链接的网站管理员。"

strTyping = " 如果您在“地址”栏中键入了网页地址,请检查其拼写是否正确。或者:"

strRecord = "这个错误已经被记录,将尽快得到处理。"

Response.Write "

无法找到的网页地址为: " & strTarget & "

"

If Len(strReferer) > 0 Then 'came from a link on another page

Response.Write "下列网页中发现了链接错误: " & strReferer _

& " 。

"

Set oConn = Server.CreateObject("ADODB.Connection") 'to store the details

oConn.Open dsn

strsql="exec sp_errorrecorder 'broken link','" & strtarget & "','"&strReferer&"'"

oConn.Execute strSQL

Rem 注意这里

If Err.Number = 0 And InStr(strReferer, "你的域名 例如163.com") > 0 Then

Response.Write strRecord 'came from a page on our site

Else

Response.Write strInform 'came from a page on another site

End If

Else

Response.Write strTyping 'they just typed it wrong into their browser

End If

%>

 打开主页,寻找指向所需信息的链接。

 单击后退按钮尝试其他链接。

 你的网站制作,意见和建议请联系你的邮件

二、检查记录网站的代码错误:

在网站的目录中建立/siteerror/ASPerror.ASP

服务器内部错误

"0" then

strinfo=strinfo & "Line " & strLinenum

if lngcolnum>0 then

strinfo=strinfo & ". column " & lngcolnum

if len(strsourcecode) then

strinfo=strinfo & " " & strSourcecode

end if

end if

end if

if len(strTarget) >255 then strtarget=left(strtarget,255)

if len(strinfo)>255 then strinfo = left(strinfo,255)

strinfo=replace(strinfo,"'","''")

set oconn=server.createobject("adodb.connection")

oconn.open dsn

strsql="insert into tsiteerrors(errortype,targeturl,errorinfo) values ('ASP error','" & strtarget & "','" & strinfo & "')"

strsql="exec sp_errorrecorder 'ASP error','" & strtarget & "','"&strinfo&"'"

oconn.execute strsql

oconn.close

set oconn=nothing

%>

 服务器内部错误

 您浏览的页面出现了服务器内部错误,暂时无法打开,这个问题已经被系统记录,我们将立即解决该问题。

 单击后退按钮尝试其他链接。

 你的网站制作,意见和建议请联系你的邮件

三、建立检查错误的页面:

/siteerror/manage_error.ASP

Web-Developer Site Administration

网站错误检查

管理网站的错误

<%

On Error Resume Next

'***********************************************

'-- open database connection

'***********************************************

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open dsn

'************************************************

'-- delete all items from table

'************************************************

If Len(Request.Form("DeleteAll")) Then

strSQL = "DELETE FROM tSiteErrors"

oConn.Execute(strSQL)

If Err.Number = 0 Then Response.Write "已经删除所有错误

"

End If

If Len(Request.Form("DeleteChecked")) Then

'************************************************

'-- delete ticked items from table

'************************************************

For Each chkBox In Request.Form

If Left(chkBox, 1) = "X" Then

strTargetURL = Mid(chkBox,2)

strSQL = "DELETE FROM tSiteErrors WHERE TargetURL='" & strTargetURL & "'"

oConn.Execute(strSQL)

If Err.Number = 0 Then Response.Write "Deleted errors for target: " & strTargetURL & "

"

End If

Next

'************************************************

End If

'************************************************

'-- display list of errors

'************************************************

%>

Click on a link to view the source or target page. Once the error has been fixed,

tick that entry and click the Delete Selected Errors button.

0) Then

Response.Write "Sorry, the database cannot be accessed."

Response.End

End If

'-- loop through the error records

intWinNumber = 0 'to create different target window for each link

Do While Not oRs.EOF

If oRs("ErrorType") = "Broken Link" Then

'-- display broken link details %>

The page " TARGET="new_err_win"> contains a broken link.

Target is " TARGET="new_err_win">

Date/Time:

The page " TARGET="new_err_win"> produced an ASP error .

Date/Time:

Delete?

四、在INTERNET服务管理器中设置自定义错误:

在internet服务管理器中选择属性中的[自定义错误信息],编辑404[错误连接]的属性,[消息类型]改为URL,URL改成/siteerror/naverror.ASP,编辑500[内部错误]的属性,[消息类型]改为URL,URL改为/siteerror/ASPerror.ASP,然后确定。

五、现在你就可以在http://127.0.0.1/siteerror/manage_error.ASP中查看你的错误的详细资料了,呵呵,这样我们就可以一眼看到我们常犯的低级错误,而一举把他们消灭,你的网站就会显得“干净多了”。

责任编辑:admin
相关文章