永发信息网

下标越界: '[number: 0]'

答案:2  悬赏:70  手机版
解决时间 2021-02-08 01:20
  • 提问者网友:無理詩人
  • 2021-02-07 04:14
Microsoft VBScript 运行时错误 '800a0009' 下标越界: '[number: 0]' \wwwroot\ShowPlatform\request.asp, line 25 '获得访问者的真实IP
ip=trim(request.form("ip"))
'判断当前来访者所属地区的函数
ipstr=split(ip,".")
'计算当前来访者IP
num=int(ipstr(0))*256*256*256+int(ipstr(1))*256*256+int(ipstr(2))*256+int(ipstr(3))-1
set rs=server.createobject("adodb.recordset")
rs.open "select * from ip_address where "&num&">=ip1 and "&num&"<=ip2",conn,1,1
if not rs.eof then
ip_dq= rs("country")&rs("city")
end if num=int(ipstr(0))*256*256*256+int(ipstr(1))*256*256+int(ipstr(2))*256+int(ipstr(3))-1
这个就是第二十五行!
rs.close
set rs=nothing
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-02-07 05:41
ip=trim(request.form("ip"))response.write ipresponse.end打印一下,ip是不是正常传值过来了,一般情况下有可能是你的ip没有传值过来造成的ipstr只有一个数组.所以使用ipstr(1) ipstr(2) ipstr(3) 时会提示越界
全部回答
  • 1楼网友:山有枢
  • 2021-02-07 06:49

估计是request.form("ip")并未获取到值。

建议楼主在ip=trim(request.form("ip"))后面加一行:(调试用,调试完毕后删除)

response.write(ip)

这样就可以显示出来你的ip是否被正确赋值,如果赋值正确,那么接着往下检查:

在ipstr=split(ip,".")后面加上

response.write(ipstr(0))

这样一次检查一下各变量,一定是某个变量未成功赋值,前面ip的可能性大一些。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯