落伍者站长论坛's Archiver

xieqingfen 发表于 2008-5-12 07:16

求助~~懂ASP代码的人进来帮助下谢谢!

下面是一个投票页面的ASP代码
[url=http://www.xxx.xxxx/xxxx.asp?id=673336324]http://www.xxx.xxxx/xxxx.asp?id=673336324[/url]
谁能帮我改下啊 就是访问投票页面的时候先弹出一个确定投票的对话筐点了确定后完成投票
[code]<!--#include file="conn.asp"-->
<%
'on error resume next
'Response.Buffer=true
dim username,comeurl
username=hx.checkstr(request("id",12)
If username="" then
CloseDatabase
Response.Write "用户名有误"
Response.End
End If
comeurl=Request.ServerVariables("http_referer"

If comeurl<>"" and not hx.isrec(0) then
dim rs,sql
set rs=server.createobject("adodb.recordset"
sql="select TOP 1 inc,inj,inp,indate,fromdate from CL_Link where username='"&username&"'"
rs.open sql,conn,1,2
If not rs.eof then
        If rs("inc"=0 then
                '记录开始统计的时间
                rs("fromdate"=now()
        End If
        
        If DateDiff("d",rs("indate",Date())=0 then
                       rs("inj"=rs("inj"+1
            else
                       rs("inj"=1
            End If

        rs("inc"=rs("inc"+1
             rs("indate"=Now()
        rs.update
        rs("inp"=rs("inc"/(DateDIff("d",rs("fromdate",Date())+1)
        rs.update
else
        Response.Write "无此用户名,或者此用户名已经删除"
        rs.close
        set rs=nothing
        CloseDatabase        
        Response.End
End If
rs.close
set rs=nothing

'清空缓存
hxcache.DelCahe("js"

End If
CloseDatabase
Response.Redirect ("vote.asp?id=username"
%>
[/code]

yinacn 发表于 2008-5-12 08:21

写不出来 应该一开始用JS判断啊!

亂宇 发表于 2008-5-12 08:23

代碼借用下 ·偶研究下 ·偶正少這個呢 ·····

xieqingfen 发表于 2008-5-12 14:20

需要怎么改吗?

xieqingfen 发表于 2008-5-12 16:08

dddddddd起

ccclvmail 发表于 2008-5-12 16:10

不明白你要的效果 。是不是点了投票过后。弹出一个对话窗,然后说“投票成功”是这个意思吗?

ccclvmail 发表于 2008-5-12 16:16

误会。。看懂了,呵呵,稍等 。我有个现成的你试一下哈。。
<!--#include file="conn.asp"-->
<html><head><title>网站调查-<%=sitename%>-<%=siteurl%></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="<%=sitedescription%>">
<meta name="keywords" content="<%=sitekeywords%>">
<link rel="stylesheet" href="buyok_shop.css" type="text/css">
</head>
<body text="#000000" leftmargin="0" topmargin="20" marginwidth="0" marginheight="0" >
<%
call aspsql()
Action=Request("Action")
VoteType=request("VoteType")
VoteOption=replace(request("VoteOption")," ","")

if action="vote" and VoteOption="" then
        response.write "<script language='javascript'>"
        response.write "alert('您什么也没有选择!');"
        response.write "location.href='vote.asp?action=view';"
        response.write "</script>"
        response.end
end if

if action="vote" and request.cookies("buyok_Voted")=request.ServerVariables("remote_addr") then
        response.write "<script language='javascript'>"
        response.write "alert('您已经投票了,不能重复投票!');"
        response.write "location.href='vote.asp?action=view';"
        response.write "</script>"
        response.end
end if

'投票
If Action = "vote" And VoteOption<>"" Then
  arrOptions=split(VoteOption,",")
  for i=0 to ubound(arrOptions)
        answer=cstr("answer"&arrOptions(i))
        conn.execute "Update Vote set "&answer&"="&answer&"+1"
  next
        '将用户IP写入COOKIES防止重复投票
  response.cookies("buyok_Voted") = request.ServerVariables("remote_addr")
'  response.cookies("buyok_Voted").expires=now+1

        response.write "<script language='javascript'>"
        response.write "alert('投票已提交,感谢您的参与!');"
        response.write "location.href='vote.asp?action=view';"
        response.write "</script>"
        response.end
End If

'显示投票结果
Set rsVote = conn.execute("Select * from Vote where view='1'")
        totalVote=0
        for i=1 to 8
        if rsVote("Select" & i)="" then exit for
        totalVote=totalVote+rsVote("answer"& i)
        next
        if totalVote=0 then totalVote=1

%>

<table cellSpacing="0" cellPadding="1" width="500" align="center" bgColor="#f4f4f4" border="0">
  <tbody>
    <tr>
      <td>
        <table cellSpacing="0" cellPadding="10" width="496" border="0">
          <tbody>
            <tr>
              <td bgColor="#f4f4f4">
                <table cellSpacing="10" cellPadding="0" width="460" align="center" border="0">
                  <tbody>
                    <tr>
                      <td><b><%=rsVote("Title")%></b></td>
                    </tr>
                    <tr>
                      <td>共有 <font color=red><%=totalVote%></font> 人参与投票</td>
                    </tr>
                    <tr>
                      <td bgColor="#FF9900">
                        <table cellSpacing="1" cellPadding="2" width="460" border="0">
                          <tbody>
                <%
                        for i=1 to 8
                        if trim(rsVote("Select" & i) & "")="" then exit for
                %>
                        <tr>
                           <td bgColor="#ffffff"><%=rsVote("Select"& i)%></td>
                           <td bgColor="#ffffff">
                <%
                perVote=round(rsVote("answer"& i)/totalVote,2)
                response.write "<img src='images/small/vote.gif' width='" & round(200*perVote) & "' height=10>"
                perVote=perVote*100
                if perVote<1 and perVote<>0 then
                        response.write "&nbsp;0" & perVote & "%"
                else
                        response.write "&nbsp;" & perVote & "%"
                end if
                %>
                        </td>
                              <td align="center" bgColor="#ffffff"><%=rsVote("answer"&i)%></td>
                        </tr>
                <%
                next
                rsVote.Close
                Set rsVote = Nothing
                %>
                          </tbody>
                        </table>
                      </td>
                    </tr>
                  </tbody>
                </table>
                <table cellSpacing="0" cellPadding="0" width="100%" border="0">
                  <tbody>
                    <tr>
                      <td align="middle">感谢您的参与!</td>
                    </tr>
                    <tr>
                      <td align="right">【<a href="javascript:window.close()">关闭窗口</a>】</td>
                    </tr>
                  </tbody>
                </table>
              </td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
  </tbody>
</table>
相关的地方改一点就可以了。。

xieqingfen 发表于 2008-5-12 16:18

是有人在别的站挂下面这个JS代码刷票
所以我想在这个投票页面加多个要点确定后才能完成投票,防止他挂JS刷票扰乱
或者有什么好的方法能防止这样刷票也可以说下
document.writeln("<IMG height=0 src=\"http:\/\/www.xxx.xxxx\/xxxasp?id=65488622\" width=0 border=0>")

xieqingfen 发表于 2008-5-12 16:22

怎么应用到上面的代码啊我不是很懂!

jesses 发表于 2008-5-12 22:10

如果是想弹出窗口让点一下确定才能投票的话[code]<form action="" methop="post" onsubmit="return confirm('确定投票吗');">[/code]即可

另外说一种比较简单短时间禁止重复投票的方法

不知道你那个inc 和inj哪个是累计投票的,可以用session控制一下重复投票[code]
If session("uservote")<>username then
   rs("inc")=rs("inc")+1
   session("uservote")=username
  Else
   response.write("<script type=""text/javascript"">alert('你已经投过票了,请过一阵子再来吧');</script>")
  End If
[/code]

[[i] 本帖最后由 jesses 于 2008-5-12 22:12 编辑 [/i]]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.