这个是投票前一页代码。在此页点击投票。
这个是投票前一页代码。在此页点击投票。<%Response.Cookies("cook")="yes"%>以下是投票页代码<%ifRequest.Cookies("coo...
这个是投票前一页代码。在此页点击投票。
<%
Response.Cookies("cook")="yes"
%>
以下是投票页代码
<%
if Request.Cookies("cook")<>"yes" then
response.write "<script language='javascript'>alert('cookies没开启无法进行投票');location.href='"&url&"';</script>"
else
method = request.servervariables("REQUEST_METHOD")
if method <>"POST" then
response.write "<script language='javascript'>alert('请通过正常方式投票');location.href='"&url&"';</script>"
else
url = request.ServerVariables("HTTP_REFERER")'获取上页地址
Dim regEx, retVal
Set regEx = New RegExp
regEx.Pattern = "^http://([^/]*.)?chinabbs.com/[\s\S]*$"
regEx.IgnoreCase = True
retVal = regEx.Test(url)
if retVal then
id = request.querystring("id")'获取用户id
userip = Request.ServerVariables("REMOTE_ADDR")'记录投票用户ip
set rs=server.createobject("adodb.recordset")'建立记录集
sql = "select * from vote where userip='"&userip&"'and DateDiff('h',datestr,now)<3"
rs.open sql,conn,2,2
if not(rs.bof and rs.eof) then
response.write "<script language='javascript'>"
response.write "alert('对不起!每隔3个小时才能再次投票!');"
Response.Write "javascript:history.back(-1);</script>"
else'否则数据库没有当前用户ip并且投票时间未超过3小时的话
rs.close
if request.cookies("i")<>1 then
if session("i")<>1 then
datestr=now()'把获取当前系统日期值付给datestr变量
sessionid = session.sessionid
sql = "insert into vote(username,userip,datestr,sessionid)values('"&id&"','"&userip&"','"&datestr&"','"&sessionid&"')"
conn.execute sql
sql = "update proid set hits = hits + 1 where userid='"&id&"'"
conn.execute sql
session("i")=1
response.Cookies("i")=1
Response.Cookies("i").expires=DateAdd("h",3,now())
end if
end if
response.write "<script language='javascript'>"
response.write "alert('恭喜你!投票成功!');location.href='"&url&"';</script>"
end if
else
response.write "<script language='javascript'>alert('请通过正常方式投票');location.href='"&url&"';</script>"
end if
end if
end if
%> 展开
<%
Response.Cookies("cook")="yes"
%>
以下是投票页代码
<%
if Request.Cookies("cook")<>"yes" then
response.write "<script language='javascript'>alert('cookies没开启无法进行投票');location.href='"&url&"';</script>"
else
method = request.servervariables("REQUEST_METHOD")
if method <>"POST" then
response.write "<script language='javascript'>alert('请通过正常方式投票');location.href='"&url&"';</script>"
else
url = request.ServerVariables("HTTP_REFERER")'获取上页地址
Dim regEx, retVal
Set regEx = New RegExp
regEx.Pattern = "^http://([^/]*.)?chinabbs.com/[\s\S]*$"
regEx.IgnoreCase = True
retVal = regEx.Test(url)
if retVal then
id = request.querystring("id")'获取用户id
userip = Request.ServerVariables("REMOTE_ADDR")'记录投票用户ip
set rs=server.createobject("adodb.recordset")'建立记录集
sql = "select * from vote where userip='"&userip&"'and DateDiff('h',datestr,now)<3"
rs.open sql,conn,2,2
if not(rs.bof and rs.eof) then
response.write "<script language='javascript'>"
response.write "alert('对不起!每隔3个小时才能再次投票!');"
Response.Write "javascript:history.back(-1);</script>"
else'否则数据库没有当前用户ip并且投票时间未超过3小时的话
rs.close
if request.cookies("i")<>1 then
if session("i")<>1 then
datestr=now()'把获取当前系统日期值付给datestr变量
sessionid = session.sessionid
sql = "insert into vote(username,userip,datestr,sessionid)values('"&id&"','"&userip&"','"&datestr&"','"&sessionid&"')"
conn.execute sql
sql = "update proid set hits = hits + 1 where userid='"&id&"'"
conn.execute sql
session("i")=1
response.Cookies("i")=1
Response.Cookies("i").expires=DateAdd("h",3,now())
end if
end if
response.write "<script language='javascript'>"
response.write "alert('恭喜你!投票成功!');location.href='"&url&"';</script>"
end if
else
response.write "<script language='javascript'>alert('请通过正常方式投票');location.href='"&url&"';</script>"
end if
end if
end if
%> 展开
1个回答
展开全部
贝叶斯定理也称贝叶斯推理,早在18世纪,英国学者贝叶斯(1702~1761)曾提出计算条件概率的公式用来解决如下一类问题:假设H[,1],H[,2]…互斥且构成一个完全事件,已知它们的概率P(H[,i],i=1,2,…,现观察到某事件A与H[,1],H[,2]…相伴随而出现,且已知条件概率P(A/H[,i]),求P(H[,i]/A)。
贝叶斯公式(发表于1763年)为: P(H[,i]/A)=P(H[,i])P(A/H[,i])/[P(H[,1])P(A/H[,1]) P(H[,2])P(A/H[,2])…]
这就是著名的“贝叶斯定理”,一些文献中把P(H[,1])、P(H[,2])称为基础概率,P(A/H[,1])为击中率,P(A/H[,2])为误报率[1]。
IMDb的评分包括两个分值,一个是算术平均值(arithmetic mean),一个是中值(median)。算术平均值大概就是平均数,中值是统计学中的中间数值,该值和比它大及比它小的数值是等差的。而最后我们查到的分数却既不是算术平均值,也不是中值。
IMDb的评分计算方法不是就做一下平均就ok了,在它的网页上也提到了它的计算方法是保密的。不过IMDb250佳影片用的是贝叶斯定理得出的加权分(Weighted Rank-WR),公式如下:weighted rank (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C
其中:
R = average for the movie (mean) = (Rating) (是用普通的方法计算出的 v = number of votes for the movie = (votes) (投票人数,需要注意的是,只有经常投票者才会被计算在内,这个下面详细解释)
m = minimum votes required to be listed in the top 250 (currently 1250) (进入imdb top 250需要的最小票数,只有三两个人投票的电影就算得满分也没用的)
C = the mean vote across the whole report (currently 6.9) (目前所有电影的平均得分)
此外,还有一个重点,根据这个注释:note: for this top 250, only votes from regular voters are considered.
只有'regular voters'的投票才会被计算在IMDB top 250之内,这就是IMDb防御因为某种电影的fans拉票而影响top 250结果,把top 250尽量限制在资深影迷投票范围内的主要方法。regular voter的标准不详,估计至少是“投票电影超过xxx部以上”这样的水平,搞不好还会加上投票的时间分布,为支持自己的心爱电影一天内给N百部电影投票估计也不行。
贝叶斯公式(发表于1763年)为: P(H[,i]/A)=P(H[,i])P(A/H[,i])/[P(H[,1])P(A/H[,1]) P(H[,2])P(A/H[,2])…]
这就是著名的“贝叶斯定理”,一些文献中把P(H[,1])、P(H[,2])称为基础概率,P(A/H[,1])为击中率,P(A/H[,2])为误报率[1]。
IMDb的评分包括两个分值,一个是算术平均值(arithmetic mean),一个是中值(median)。算术平均值大概就是平均数,中值是统计学中的中间数值,该值和比它大及比它小的数值是等差的。而最后我们查到的分数却既不是算术平均值,也不是中值。
IMDb的评分计算方法不是就做一下平均就ok了,在它的网页上也提到了它的计算方法是保密的。不过IMDb250佳影片用的是贝叶斯定理得出的加权分(Weighted Rank-WR),公式如下:weighted rank (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C
其中:
R = average for the movie (mean) = (Rating) (是用普通的方法计算出的 v = number of votes for the movie = (votes) (投票人数,需要注意的是,只有经常投票者才会被计算在内,这个下面详细解释)
m = minimum votes required to be listed in the top 250 (currently 1250) (进入imdb top 250需要的最小票数,只有三两个人投票的电影就算得满分也没用的)
C = the mean vote across the whole report (currently 6.9) (目前所有电影的平均得分)
此外,还有一个重点,根据这个注释:note: for this top 250, only votes from regular voters are considered.
只有'regular voters'的投票才会被计算在IMDB top 250之内,这就是IMDb防御因为某种电影的fans拉票而影响top 250结果,把top 250尽量限制在资深影迷投票范围内的主要方法。regular voter的标准不详,估计至少是“投票电影超过xxx部以上”这样的水平,搞不好还会加上投票的时间分布,为支持自己的心爱电影一天内给N百部电影投票估计也不行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询