急求ASP网页~应该不难~但我真的不懂
发布网友
发布时间:2024-09-28 01:21
我来回答
共4个回答
热心网友
时间:2024-10-04 12:34
本来楼上的朋友已说得够清楚了,楼主仍然不会,我再给补充一下吧。
首先你要明白一点:你的客户端访问地址有误,用http://localhost/Result.asp?100的地址访问,程序无法执行,你要修改为http://localhost/Result.asp?id=100,以这种地址来访问。
再问一下:“如果访问Result.asp?50,他的成绩就是50分”,这个他是谁?是你网站的用户呢还是任何一个访问者?如果是任意人,那么你这个程序有意义?谁访问一下你就给记录,这样无法分辨这成绩是谁的,所以,在连接地址上,你应该再加上一个参数,把访问者的身份传递来,比如:张三,成绩80分,那么连接地址就应是:http://localhost/Result.asp?id=80&username=张三;李四,70分,那么连接地址就应是:http://localhost/Result.asp?id=70&username=李四。在样在记录到数据库时,可以同时记录张三,80,IP地址这三项。
再弱弱地问一下:你会不会使用ACCESS软件?如果不会,请加我的百度HI,做好了给你,如果会,按我下面的方法来建议这个数据库:
数据库名:score.mdb
在该数据库中建立一个表,表名:score,字段如下:
id,自动编号,主键
username,文本,记录用户名,长度20
score,数字,长整型,记录成绩,便于统计
userip,文本,长度20,记录IP
数据库建立好后,把它跟Result.asp放在同一个目录。
下面是Result.asp全部代码:
<html>
<head>
<title>Result</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
body{margin:0 auto;font-family:Verdana;font-size:12px;}
</style>
</head>
<body>
<%
Dim Db,Conn,Connstr
Db="score.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
Conn.Open Connstr
Dim UserIp,UserName,Userscore
UserIp = Left(Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'",""),15)
If UserIp = "" Then UserIp = Left(Replace(Request.ServerVariables("REMOTE_ADDR"),"'",""),15)
UserName = Trim(Request("userName"))
Userscore = Trim(Request("Id"))
If Not isnumeric(Userscore) Then Userscore = 0
Userscore = cint(Userscore)
If Userscore >0 Then
Conn.Execute("Insert into score(username,score,userip) Values (""&UserName&"","&Userscore&",'"&UserIp&"')")
Response.write("你的成绩已记录!")
Else
Response.write("参数错误!")
End If
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
热心网友
时间:2024-10-04 12:32
清楚了!已经更改过了,按下面做应该没问题:
假设你的数据库名是cj.mdb 表名是cj01
Result.asp代码如下(数据库名在同一文件夹):
<% dim cjurl,cj,ip
cjurl=Request.ServerVariables("url")
cj=int(replace(cjurl,"http://localhost/Result.asp?",""))
ip=request.ServerVariables("REMOTE_ADDR")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("cj.mdb")
Set rs_main= Server.CreateObject("ADODB.Recordset")
set rst=server.createobject("adodb.recordset")
sql="select * from cj01"
rst.open sql,conn,1,2
rst.addnew
rst("IP地址")=ip
rst("成绩")=cj
rst.update
rst.close
set conn=nothing
%>
热心网友
时间:2024-10-04 12:37
1L的是读取数据库成绩了
楼主是要在数据库新建一记录
插进去就行了啊
其实就1L的,照改...
<% dim ip,cj
ip=request.ServerVariables("REMOTE_ADDR")
cjurl=Request.ServerVariables("url")
cj=int(replace(cjurl,"http://localhost/Result.asp?",""))
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("cj.mdb")
conn.execute("insert into table('ip地址','成绩') values('"&ip&"','"&cj&"')")
set conn=nothing
%>
热心网友
时间:2024-10-04 12:38
我本来想回答你的,看到楼上答的那么详细和清楚,我就懒得多说了
热心网友
时间:2024-10-04 12:34
本来楼上的朋友已说得够清楚了,楼主仍然不会,我再给补充一下吧。
首先你要明白一点:你的客户端访问地址有误,用http://localhost/Result.asp?100的地址访问,程序无法执行,你要修改为http://localhost/Result.asp?id=100,以这种地址来访问。
再问一下:“如果访问Result.asp?50,他的成绩就是50分”,这个他是谁?是你网站的用户呢还是任何一个访问者?如果是任意人,那么你这个程序有意义?谁访问一下你就给记录,这样无法分辨这成绩是谁的,所以,在连接地址上,你应该再加上一个参数,把访问者的身份传递来,比如:张三,成绩80分,那么连接地址就应是:http://localhost/Result.asp?id=80&username=张三;李四,70分,那么连接地址就应是:http://localhost/Result.asp?id=70&username=李四。在样在记录到数据库时,可以同时记录张三,80,IP地址这三项。
再弱弱地问一下:你会不会使用ACCESS软件?如果不会,请加我的百度HI,做好了给你,如果会,按我下面的方法来建议这个数据库:
数据库名:score.mdb
在该数据库中建立一个表,表名:score,字段如下:
id,自动编号,主键
username,文本,记录用户名,长度20
score,数字,长整型,记录成绩,便于统计
userip,文本,长度20,记录IP
数据库建立好后,把它跟Result.asp放在同一个目录。
下面是Result.asp全部代码:
<html>
<head>
<title>Result</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
body{margin:0 auto;font-family:Verdana;font-size:12px;}
</style>
</head>
<body>
<%
Dim Db,Conn,Connstr
Db="score.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
Conn.Open Connstr
Dim UserIp,UserName,Userscore
UserIp = Left(Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'",""),15)
If UserIp = "" Then UserIp = Left(Replace(Request.ServerVariables("REMOTE_ADDR"),"'",""),15)
UserName = Trim(Request("userName"))
Userscore = Trim(Request("Id"))
If Not isnumeric(Userscore) Then Userscore = 0
Userscore = cint(Userscore)
If Userscore >0 Then
Conn.Execute("Insert into score(username,score,userip) Values (""&UserName&"","&Userscore&",'"&UserIp&"')")
Response.write("你的成绩已记录!")
Else
Response.write("参数错误!")
End If
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
热心网友
时间:2024-10-04 12:30
1L的是读取数据库成绩了
楼主是要在数据库新建一记录
插进去就行了啊
其实就1L的,照改...
<% dim ip,cj
ip=request.ServerVariables("REMOTE_ADDR")
cjurl=Request.ServerVariables("url")
cj=int(replace(cjurl,"http://localhost/Result.asp?",""))
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("cj.mdb")
conn.execute("insert into table('ip地址','成绩') values('"&ip&"','"&cj&"')")
set conn=nothing
%>
热心网友
时间:2024-10-04 12:33
我本来想回答你的,看到楼上答的那么详细和清楚,我就懒得多说了
热心网友
时间:2024-10-04 12:33
清楚了!已经更改过了,按下面做应该没问题:
假设你的数据库名是cj.mdb 表名是cj01
Result.asp代码如下(数据库名在同一文件夹):
<% dim cjurl,cj,ip
cjurl=Request.ServerVariables("url")
cj=int(replace(cjurl,"http://localhost/Result.asp?",""))
ip=request.ServerVariables("REMOTE_ADDR")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("cj.mdb")
Set rs_main= Server.CreateObject("ADODB.Recordset")
set rst=server.createobject("adodb.recordset")
sql="select * from cj01"
rst.open sql,conn,1,2
rst.addnew
rst("IP地址")=ip
rst("成绩")=cj
rst.update
rst.close
set conn=nothing
%>