当前位置: 首页 > 图文教程 > 网络编程 > 编程10000问 > 如何用数据库制作一个多用户版的计数器?

编程10000问
如何获知文件被改动的情况?
如何获知文件最后的修改日期和时间?
如何在线查询本地机的文件?
如何制作一个文本文件编辑器?
如何简单地上传文件?
如何上传一个单纯的HTML文件?
如何实现文件上传并自动归类功能?
如何实现无组件上传二进制文件?
在无组件的情况下,如何上传图片?
如何限制上传文件的大小?
如何用拦截表单的方法上传图片?
如何对用户进行授权?
如何更好地保护我的网页?
如何实现某些页面只让特定的用户浏览?
如何实现某一页面只让特定的用户浏览?
如何实现强制登录?
如何制作一个安全的页面?
如何最大限度地实现安全登录功能?
如何防止未经注册的用户绕过注册界面直接进入应用系统?
怎样避免直接在地址栏敲入URL即可绕过登录页的错误?

编程10000问 中的 如何用数据库制作一个多用户版的计数器?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 31 ::
收藏到网摘: n/a

count.asp

' 计数器的核心程序.

<%
Set conn = Server.CreateObject("ADODB.Connection")
dbpath=server.MapPath("count.mdb")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&DbPath
user=Request.QueryString("user")
sql="update counttable set curvalue=curvalue+1 where user='"&user&"'"

' 计数值加1.
conn.Execute sql
sql="select curvalue from counttable where user='"&user&"'"
set rs=conn.Execute(sql)
function chgimg(curvalue)
dim s,i,g
s=cstr(curvalue)
for i=1 to len(s)

' 定义chgimg函数,将计数值用图形表示.
g=g & "<img src=1/" & mid(s,i,1) & ".gif align=bottom>"

' 在正式使用计数器时,图片的路径要用实际路径.
next
chgimg=g
end function
toimg=chgimg(rs("curvalue"))
toimg="document.write(" & "'" & toimg & "')"

' 调用chgimg函数传入计数器值.


Response.Write(toimg)

' 输出.
rs.close
set rs=nothing
conn.Close
set conn=nothing
%>

get.htm

' 申请表单.
<form method="POST" action="getcl.asp">
<p>
用户名<input type="text" name="user" size="20"></p>
<p>
计数器初始值<input type="text" name="curvalue" size="20"></p>
<p>
主页地址<input type="text" name="pageurl" size="20"></p>
<p><input type="submit" value="
提交" name="B1"><input type="reset" value="重写" name="B2"></p>
</form>

getcl.asp

' 处理用户的输入的表单,并加入数据库.
<%
Set conn = Server.CreateObject("ADODB.Connection")

' 建立与数据库的连接.
dbpath=server.MapPath("count.mdb")

' 取得数据库的实际路径.
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&DbPath
set rs=server.CreateObject("adodb.recordset")
user=Request.Form("user")
pageurl=Request.Form("pageurl")
curvalue=Request.Form("curvalue")

' 取得用户信息.
sql="select * from counttable where user='"&user&"'"

' 检查用户名是否存在.
rs.Open sql,conn,1,3
if not rs.EOF then
Response.Write"<title>
申请出错</title>"
Response.Write"
,用户名已经存在!请重新选择...</title>"
Response.End

' 停止向下处理,要求用户重填.
end if
rs.AddNew
rs("user")=user
rs("pageurl")=pageurl
rs("curvalue")=curvalue
rs.Update

' 将用户信息加入数据库.
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>


[1]