电影 乡情:★★★很难很难的asp逻辑错误,谁能帮帮我★★★

来源:百度文库 编辑:高考问答 时间:2024/04/29 05:45:42
把下面一段代码复制下来保存为asp文件,放到iis下运行,问题就出现了
谁能帮我找找!

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>为什么变量每次都会加两次</title>
</head>
<%
if session("hits")>0 then
session("hits")=session("hits")+1 '刷新页面或再次访问令变量值加1
else
session("hits")=1 '首次访问赋予值为1
end if
%>
<body background="#FFFFFF">
<div align="center"></div>
<table width="53%" border="0" align="center" cellpadding="2" cellspacing="0" background="#FFFFFF">
<tr>

<td><div align="center">
<p>为什么刷新一次页面Session变量会加2次</p>
<p>Session值: <%=session("hits")%></p>
<p>如果换成数据库如 update 表 set hits=hits+1 </p>
<p>hits 字段的值同样会加2</p>
</div></td>
</tr>
</table>

</body>
</html>

刚才我调试了一下你的程序,确实是自动加2,我试了一下,如果将body和table的背景颜色都去掉,那么这段程序可以正常加1,呵呵,这个问题我也是第一回碰到,觉得很奇怪.

我想是不是因为这个背景颜色代码和session()相冲突导致的,不过只是猜猜罢了:)

其实你的body和table不必用#FFFFFF做背景颜色的,因为系统默认的背景是白色.

if session("hits")>0 then
//如果session("hits")的值大于0则
session("hits")=session("hits")+1
//将session("hits")的值+1
else
//否则
session("hits")=1 '首次访问赋予值为1
//则session("hits")的值=1
end if
楼主你明白session么?

去掉 session,单独使用hits变量