可能是asp里跳转了吧。或者有SQL过虑跳转。
还有一种可能就是COOKIE跳转。你自已排除一下。
你的程序很清楚的提到了两种条件下跳转到index.asp
第一种是topname="" or minname="" or id="" or isNumeric(id)=False 时
第二种是rs.eof (直到结果集的最后一条记录仍未找到需要的信息)时
你的问题中提到“有些asp打开后自动转到index.asp了!有些就可以正常打开”,那么自动跳转的肯定是符合上述两种条件之一的情况会跳转到“index.asp”。不知道你需要程序达到什么要求?
response.Redirect("index.asp")的意思是转向index.asp这个文件
不管你的首页面指定的是不是index.asp
但有了这一句,就一定会转向到index.asp
当然前面你做了判断topname="" or minname="" or id="" or isNumeric(id)=False
但你这个判断做的不标准也不严格,有漏洞
比如id="",我们一般用ID只做正整形数字,如果有人用了负数,小数或是字符呢
那就改为显示给用户选择吧
<%
topname=Trim(Request.QueryString("topname"))
minname=Trim(Request.QueryString("minname"))
id=Trim(Request.QueryString("id"))
if topname="" or minname="" or id="" or isNumeric(id)=False then
response.Redirect("index.asp")
end if
sql="select * from Yao_Article where ID="&id
rs.open sql,connstr,1,3
if rs.eof then
rs.close
response.write ("首页")
response.end
else
num=rs("Hits")
rs("Hits")=num+1
rs.update
end if
%>